{% extends "base.html" %}
{% block content %}
    <div class="row page" id="api_inner" style="display: block;">
        <div id="no_res" style="text-align:center; display:none;"><h4
                style="font-size:1.1em; font-weight:bold;">Sorry, no results found.</h4>
            <button class="btn btn-link" onclick="$('#srch').val('').keyup();">clear this search</button>
        </div>
        <div id="cl_src" style="text-align:center; display:none;"><h4
                style="font-size:1.1em; font-weight:bold;">This is a filtered view.</h4>
            <button class="btn btn-link" onclick="$('#srch').val('').keyup();">clear this search</button>
        </div>
        <div class="item " rel="" style="margin-bottom: 3em; display: block;">
            <div class="">
                <div><p>globals jQuery, define, module, exports, require, window, document, postMessage</p>
                </div>
            </div>
        </div>
        <div class="item " rel=""
             style="background: white; border: 0px; border-radius: 0px; margin-top: 0px; padding-top: 0px; display: block;">
            <div class="">
                <div><h3><i class="glyphicon glyphicon-leaf"></i>&nbsp;jsTree core functionality</h3></div>
            </div>
        </div>
        <div class="item " rel="$.jstree" style="display: block;"><h4><code class="prop">$.jstree</code></h4>
            <div class="item-inner wont-show" >
                <div><p>holds all jstree related functions and variables, including the actual class and methods
                    to create, access and manipulate instances.</p></div>
            </div>
        </div>
        <div class="item " rel="$.jstree.version" style="display: block;"><h4><code class="prop">$.jstree.version</code>
        </h4>
            <div class="item-inner wont-show" >
                <div><p>specifies the jstree version in use</p></div>
            </div>
        </div>
        <div class="item " rel="$.jstree.defaults" style="display: block;"><h4><code
                class="prop">$.jstree.defaults</code>
        </h4>
            <div class="item-inner wont-show" >
                <div><p>holds all the default options used when creating new instances</p></div>
            </div>
        </div>
        <div class="item " rel="$.jstree.defaults.plugins" style="display: block;"><h4><code class="prop">$.jstree.defaults.plugins</code>
        </h4>
            <div class="item-inner wont-show" >
                <div><p>configure which plugins will be active on an instance. Should be an array of strings,
                    where each element is a plugin name. The default is <code>[]</code></p></div>
            </div>
        </div>
        <div class="item " rel="$.jstree.plugins" style="display: block;"><h4><code class="prop">$.jstree.plugins</code>
        </h4>
            <div class="item-inner wont-show" >
                <div><p>stores all loaded jstree plugins (used internally)</p></div>
            </div>
        </div>
        <div class="item " rel="$.jstree.reference(needle)" style="display: block;"><h4><code
                class="func"><strong>$.jstree.reference</strong> (needle)</code></h4>
            <div class="item-inner wont-show" >
                <div><p>get a reference to an existing instance</p>

                </div>
                <ul class="params list-unstyled">
                    <li><code class="param">needle</code>
                        <p><code class="type">DOMElement</code> <code class="type">jQuery</code> <code
                                class="type">String</code></p></li>
                </ul>
                <ul class="params list-unstyled">
                    <li><code class="param return">Returns</code>
                        <p><code class="type">jsTree</code></p>
                        <p>the instance or <code>null</code> if not found</p>
                        <p></p></li>
                </ul>
                <div><p><strong>示例</strong></p>
                    <pre>
                        <code>
                            // provided a container with an ID of "tree", and a nested node with an ID of "branch"
                        // all of there will return the same instance
                        $.jstree.reference('tree');
                        $.jstree.reference('#tree');
                        $.jstree.reference($('#tree'));
                        $.jstree.reference(document.getElementByID('tree'));
                        $.jstree.reference('branch');
                        $.jstree.reference('#branch');
                        $.jstree.reference($('#branch'));
                        $.jstree.reference(document.getElementByID('branch'));
                    </code>
                    </pre>
                </div>
            </div>
        </div>
        <div class="item " rel="$().jstree([arg])" style="display: block;"><h4><code
                class="func">$().jstree([arg])</code>
        </h4>
            <div class="item-inner wont-show" >
                <div><p>Create an instance, get an instance or invoke a command on a instance.</p>
                    <p>If there is no instance associated with the current node a new one is created and
                        <code>arg</code>
                        is used to extend <code>$.jstree.defaults</code> for this new instance. There would be
                        no return value (chaining is not broken).</p>
                    <p>If there is an existing instance and <code>arg</code> is a string the command specified
                        by <code>arg</code> is executed on the instance, with any additional arguments passed to
                        the function. If the function returns a value it will be returned (chaining could break
                        depending on function).</p>
                    <p>If there is an existing instance and <code>arg</code> is not a string the instance itself
                        is returned (similar to <code>$.jstree.reference</code>).</p>
                    <p>In any other case - nothing is returned and chaining is not broken.</p>

                </div>
                <ul class="params list-unstyled">
                    <li><code class="param">arg</code>
                        <p><code class="type">String</code> <code class="type">Object</code></p></li>
                </ul>
                <ul class="params list-unstyled">
                    <li><code class="param return">Returns</code>
                        <p><code class="type">Mixed</code></p></li>
                </ul>
                <div><p><strong>示例</strong></p>
                    <pre><code>$('#tree1').jstree(); // creates an instance
$('#tree2').jstree({ plugins : [] }); // create an instance with some options
$('#tree1').jstree('open_node', '#branch_1'); // call a method on an existing instance, passing additional arguments
$('#tree2').jstree(); // get an existing instance (or create an instance)
$('#tree2').jstree(true); // get an existing instance (will not create new instance)
$('#branch_1').jstree().select_node('#branch_1'); // get an instance (using a nested element and call a method)</code></pre>
                </div>
            </div>
        </div>
        <div class="item " rel="$(':jstree')" style="display: block;"><h4><code class="func">$(':jstree')</code>
        </h4>
            <div class="item-inner wont-show" >
                <div><p>used to find elements containing an instance</p>

                </div>
                <ul class="params list-unstyled">
                    <li><code class="param return">Returns</code>
                        <p><code class="type">jQuery</code></p></li>
                </ul>
                <div><p><strong>示例</strong></p>
                    <pre><code>$('div:jstree').each(function () {
	$(this).jstree('destroy');
});</code></pre>
                </div>
            </div>
        </div>
        <div class="item " rel="$.jstree.defaults.core" style="display: block;"><h4><code class="prop">$.jstree.defaults.core</code>
        </h4>
            <div class="item-inner wont-show" >
                <div><p>stores all defaults for the core</p></div>
            </div>
        </div>
        <div class="item " rel="$.jstree.defaults.core.data" style="display: block;"><h4><code class="prop">$.jstree.defaults.core.data</code>
        </h4>
            <div class="item-inner wont-show" >
                <div><p>data configuration</p>
                    <p>If left as <code>false</code> the HTML inside the jstree container element is used to
                        populate the tree (that should be an unordered list with list items).</p>
                    <p>You can also pass in a HTML string or a JSON array here.</p>
                    <p>It is possible to pass in a standard jQuery-like AJAX config and jstree will
                        automatically determine if the response is JSON or HTML and use that to populate the
                        tree.<br>
                        In addition to the standard jQuery ajax options here you can suppy functions for
                        <code>data</code>
                        and <code>url</code>, the functions will be run in the current instance's scope and a
                        param will be passed indicating which node is being loaded, the return value of those
                        functions will be used.</p>
                    <p>The last option is to specify a function, that function will receive the node being
                        loaded as argument and a second param which is a function which should be called with
                        the result.</p>

                </div>
                <div><p><strong>示例</strong></p>
                    <pre><code>// AJAX
$('#tree').jstree({
	'core' : {
		'data' : {
			'url' : '/get/children/',
			'data' : function (node) {
				return { 'id' : node.id };
			}
		}
	});

// direct data
$('#tree').jstree({
	'core' : {
		'data' : [
			'Simple root node',
			{
				'id' : 'node_2',
				'text' : 'Root node with options',
				'state' : { 'opened' : true, 'selected' : true },
				'children' : [ { 'text' : 'Child 1' }, 'Child 2']
			}
		]
	}
});

// function
$('#tree').jstree({
	'core' : {
		'data' : function (obj, callback) {
			callback.call(this, ['Root 1', 'Root 2']);
		}
	});</code></pre>
                </div>
            </div>
        </div>
        <div class="item " rel="$.jstree.defaults.core.strings" style="display: block;"><h4><code class="prop">$.jstree.defaults.core.strings</code>
        </h4>
            <div class="item-inner wont-show" >
                <div><p>configure the various strings used throughout the tree</p>
                    <p>You can use an object where the key is the string you need to replace and the value is
                        your replacement.<br>
                        Another option is to specify a function which will be called with an argument of the
                        needed string and should return the replacement.<br>
                        If left as <code>false</code> no replacement is made.</p>

                </div>
                <div><p><strong>示例</strong></p>
                    <pre><code>$('#tree').jstree({
	'core' : {
		'strings' : {
			'Loading ...' : 'Please wait ...'
		}
	}
});</code></pre>
                </div>
            </div>
        </div>
        <div class="item " rel="$.jstree.defaults.core.check_callback" style="display: block;"><h4><code
                class="prop">$.jstree.defaults.core.check_callback</code></h4>
            <div class="item-inner wont-show" >
                <div><p>determines what happens when a user tries to modify the structure of the tree<br>
                    If left as <code>false</code> all operations like create, rename, delete, move or copy are
                    prevented.<br>
                    You can set this to <code>true</code> to allow all interactions or use a function to have
                    better control.</p>

                </div>
                <div><p><strong>示例</strong></p>
                    <pre><code>$('#tree').jstree({
	'core' : {
		'check_callback' : function (operation, node, node_parent, node_position, more) {
			// operation can be 'create_node', 'rename_node', 'delete_node', 'move_node', 'copy_node' or 'edit'
			// in case of 'rename_node' node_position is filled with the new node name
			return operation === 'rename_node' ? true : false;
		}
	}
});</code></pre>
                </div>
            </div>
        </div>
        <div class="item " rel="$.jstree.defaults.core.error" style="display: block;"><h4><code class="prop">$.jstree.defaults.core.error</code>
        </h4>
            <div class="item-inner wont-show" >
                <div><p>a callback called with a single object parameter in the instance's scope when something
                    goes wrong (operation prevented, ajax failed, etc)</p></div>
            </div>
        </div>
        <div class="item " rel="$.jstree.defaults.core.animation" style="display: block;"><h4><code
                class="prop">$.jstree.defaults.core.animation</code></h4>
            <div class="item-inner wont-show" >
                <div><p>the open / close animation duration in milliseconds - set this to <code>false</code> to
                    disable the animation (default is <code>200</code>)</p></div>
            </div>
        </div>
        <div class="item " rel="$.jstree.defaults.core.multiple" style="display: block;"><h4><code class="prop">$.jstree.defaults.core.multiple</code>
        </h4>
            <div class="item-inner wont-show" >
                <div><p>a boolean indicating if multiple nodes can be selected</p></div>
            </div>
        </div>
        <div class="item " rel="$.jstree.defaults.core.themes" style="display: block;"><h4><code class="prop">$.jstree.defaults.core.themes</code>
        </h4>
            <div class="item-inner wont-show" >
                <div><p>theme configuration object</p></div>
            </div>
        </div>
        <div class="item " rel="$.jstree.defaults.core.themes.name" style="display: block;"><h4><code
                class="prop">$.jstree.defaults.core.themes.name</code></h4>
            <div class="item-inner wont-show" >
                <div><p>the name of the theme to use (if left as <code>false</code> the default theme is used)
                </p></div>
            </div>
        </div>
        <div class="item " rel="$.jstree.defaults.core.themes.url" style="display: block;"><h4><code
                class="prop">$.jstree.defaults.core.themes.url</code></h4>
            <div class="item-inner wont-show" >
                <div><p>the URL of the theme's CSS file, leave this as <code>false</code> if you have manually
                    included the theme CSS (recommended). You can set this to <code>true</code> too which will
                    try to autoload the theme.</p></div>
            </div>
        </div>
        <div class="item " rel="$.jstree.defaults.core.themes.dir" style="display: block;"><h4><code
                class="prop">$.jstree.defaults.core.themes.dir</code></h4>
            <div class="item-inner wont-show" >
                <div><p>the location of all jstree themes - only used if <code>url</code> is set to
                    <code>true</code></p></div>
            </div>
        </div>
        <div class="item " rel="$.jstree.defaults.core.themes.dots" style="display: block;"><h4><code
                class="prop">$.jstree.defaults.core.themes.dots</code></h4>
            <div class="item-inner wont-show" >
                <div><p>a boolean indicating if connecting dots are shown</p></div>
            </div>
        </div>
        <div class="item " rel="$.jstree.defaults.core.themes.icons" style="display: block;"><h4><code
                class="prop">$.jstree.defaults.core.themes.icons</code></h4>
            <div class="item-inner wont-show" >
                <div><p>a boolean indicating if node icons are shown</p></div>
            </div>
        </div>
        <div class="item " rel="$.jstree.defaults.core.themes.ellipsis" style="display: block;"><h4><code
                class="prop">$.jstree.defaults.core.themes.ellipsis</code></h4>
            <div class="item-inner wont-show" >
                <div><p>a boolean indicating if node ellipsis should be shown - this only works with a fixed
                    with on the container</p></div>
            </div>
        </div>
        <div class="item " rel="$.jstree.defaults.core.themes.stripes" style="display: block;"><h4><code
                class="prop">$.jstree.defaults.core.themes.stripes</code></h4>
            <div class="item-inner wont-show" >
                <div><p>a boolean indicating if the tree background is striped</p></div>
            </div>
        </div>
        <div class="item " rel="$.jstree.defaults.core.themes.variant" style="display: block;"><h4><code
                class="prop">$.jstree.defaults.core.themes.variant</code></h4>
            <div class="item-inner wont-show" >
                <div><p>a string (or boolean <code>false</code>) specifying the theme variant to use (if the
                    theme supports variants)</p></div>
            </div>
        </div>
        <div class="item " rel="$.jstree.defaults.core.themes.responsive" style="display: block;"><h4><code
                class="prop">$.jstree.defaults.core.themes.responsive</code></h4>
            <div class="item-inner wont-show" >
                <div><p>a boolean specifying if a reponsive version of the theme should kick in on smaller
                    screens (if the theme supports it). Defaults to <code>false</code>.</p></div>
            </div>
        </div>
        <div class="item " rel="$.jstree.defaults.core.expand_selected_onload" style="display: block;"><h4><code
                class="prop">$.jstree.defaults.core.expand_selected_onload</code></h4>
            <div class="item-inner wont-show" >
                <div><p>if left as <code>true</code> all parents of all selected nodes will be opened once the
                    tree loads (so that all selected nodes are visible to the user)</p></div>
            </div>
        </div>
        <div class="item " rel="$.jstree.defaults.core.worker" style="display: block;"><h4><code class="prop">$.jstree.defaults.core.worker</code>
        </h4>
            <div class="item-inner wont-show" >
                <div><p>if left as <code>true</code> web workers will be used to parse incoming JSON data where
                    possible, so that the UI will not be blocked by large requests. Workers are however about
                    30% slower. Defaults to <code>true</code></p></div>
            </div>
        </div>
        <div class="item " rel="$.jstree.defaults.core.force_text" style="display: block;"><h4><code
                class="prop">$.jstree.defaults.core.force_text</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>Force node text to plain text (and escape HTML). Defaults to <code>false</code></p>
                </div>
            </div>
        </div>
        <div class="item " rel="$.jstree.defaults.core.dblclick_toggle" style="display: block;"><h4><code
                class="prop">$.jstree.defaults.core.dblclick_toggle</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>Should the node be toggled if the text is double clicked. Defaults to <code>true</code>
                </p></div>
            </div>
        </div>
        <div class="item " rel="$.jstree.defaults.core.loaded_state" style="display: block;"><h4><code
                class="prop">$.jstree.defaults.core.loaded_state</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>Should the loaded nodes be part of the state. Defaults to <code>false</code></p></div>
            </div>
        </div>
        <div class="item " rel="$.jstree.defaults.core.restore_focus" style="display: block;"><h4><code
                class="prop">$.jstree.defaults.core.restore_focus</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>Should the last active node be focused when the tree container is blurred and the
                    focused again. This helps working with screen readers. Defaults to <code>true</code></p>
                </div>
            </div>
        </div>
        <div class="item " rel="$.jstree.defaults.core.keyboard" style="display: block;"><h4><code class="prop">$.jstree.defaults.core.keyboard</code>
        </h4>
            <div class="item-inner wont-show" style=";">
                <div><p>Default keyboard shortcuts (an object where each key is the button name or combo - like
                    'enter', 'ctrl-space', 'p', etc and the value is the function to execute in the instance's
                    scope)</p></div>
            </div>
        </div>
        <div class="item private" rel="plugin(deco [, opts])" style="display: block;"><h4><code
                class="func"><strong>plugin</strong> (deco [, opts])</code><code class="meta">private</code>
        </h4>
            <div class="item-inner wont-show" style=";">
                <div><p>used to decorate an instance with a plugin. Used internally.</p></div>
                <ul class="params list-unstyled">
                    <li><code class="param">deco</code>
                        <p><code class="type">String</code></p>
                        <p>the plugin to decorate with</p>
                        <p></p></li>
                    <li><code class="param">opts</code>
                        <p><code class="type">Object</code></p>
                        <p>options for the plugin</p>
                        <p></p></li>
                </ul>
                <ul class="params list-unstyled">
                    <li><code class="param return">Returns</code>
                        <p><code class="type">jsTree</code></p></li>
                </ul>
            </div>
        </div>
        <div class="item private" rel="init(el, optons)" style="display: block;"><h4><code
                class="func"><strong>init</strong>
            (el, optons)</code><code class="meta">private</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>initialize the instance. Used internally.</p></div>
                <ul class="params list-unstyled">
                    <li><code class="param">el</code>
                        <p><code class="type">DOMElement</code> <code class="type">jQuery</code> <code
                                class="type">String</code></p>
                        <p>the element we are transforming</p>
                        <p></p></li>
                    <li><code class="param">options</code>
                        <p><code class="type">Object</code></p>
                        <p>options for this instance</p>
                        <p></p></li>
                </ul>
                <ul class="params list-unstyled">
                    <li><code class="param trigger">Triggers</code>
                        <p><code class="evnt">init.jstree</code> <code class="evnt"> loading.jstree</code> <code
                                class="evnt"> loaded.jstree</code> <code class="evnt"> ready.jstree</code> <code
                                class="evnt"> changed.jstree</code></p></li>
                </ul>
            </div>
        </div>
        <div class="item " rel="init.jstree" style="display: block;"><h4><code class="evnt">init.jstree Event <i
                class="glyphicon glyphicon-flash"></i></code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>triggered after all events are bound</p></div>
            </div>
        </div>
        <div class="item " rel="loading.jstree" style="display: block;"><h4><code class="evnt">loading.jstree
            Event <i class="glyphicon glyphicon-flash"></i></code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>triggered after the loading text is shown and before loading starts</p></div>
            </div>
        </div>
        <div class="item " rel="destroy()" style="display: block;"><h4><code
                class="func"><strong>destroy</strong> ()</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>destroy an instance</p></div>
                <ul class="params list-unstyled">
                    <li><code class="param">keep_html</code>
                        <p><code class="type">Boolean</code></p>
                        <p>if not set to <code>true</code> the container will be emptied, otherwise the current
                            DOM elements will be kept intact</p>
                        <p></p></li>
                </ul>
            </div>
        </div>
        <div class="item " rel="destroy.jstree" style="display: block;"><h4><code class="evnt">destroy.jstree
            Event <i class="glyphicon glyphicon-flash"></i></code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>triggered before the tree is destroyed</p></div>
            </div>
        </div>
        <div class="item " rel="_create_prototype_node()" style="display: block;"><h4><code
                class="func"><strong>_create_prototype_node</strong> ()</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>Create a prototype node</p></div>
                <ul class="params list-unstyled">
                    <li><code class="param return">Returns</code>
                        <p><code class="type">DOMElement</code></p></li>
                </ul>
            </div>
        </div>
        <div class="item private" rel="teardown()" style="display: block;"><h4><code
                class="func"><strong>teardown</strong>
            ()</code><code class="meta">private</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>part of the destroying of an instance. Used internally.</p></div>
            </div>
        </div>
        <div class="item private" rel="bind()" style="display: block;"><h4><code
                class="func"><strong>bind</strong> ()</code><code class="meta">private</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>bind all events. Used internally.</p></div>
            </div>
        </div>
        <div class="item " rel="loaded.jstree" style="display: block;"><h4><code class="evnt">loaded.jstree
            Event <i class="glyphicon glyphicon-flash"></i></code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>triggered after the root node is loaded for the first time</p></div>
            </div>
        </div>
        <div class="item " rel="ready.jstree" style="display: block;"><h4><code class="evnt">ready.jstree Event
            <i class="glyphicon glyphicon-flash"></i></code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>triggered after all nodes are finished loading</p></div>
            </div>
        </div>
        <div class="item private" rel="unbind()" style="display: block;"><h4><code
                class="func"><strong>unbind</strong> ()</code><code class="meta">private</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>part of the destroying of an instance. Used internally.</p></div>
            </div>
        </div>
        <div class="item private" rel="trigger(ev [, data])" style="display: block;"><h4><code
                class="func"><strong>trigger</strong> (ev [, data])</code><code class="meta">private</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>trigger an event. Used internally.</p></div>
                <ul class="params list-unstyled">
                    <li><code class="param">ev</code>
                        <p><code class="type">String</code></p>
                        <p>the name of the event to trigger</p>
                        <p></p></li>
                    <li><code class="param">data</code>
                        <p><code class="type">Object</code></p>
                        <p>additional data to pass with the event</p>
                        <p></p></li>
                </ul>
            </div>
        </div>
        <div class="item " rel="get_container()" style="display: block;"><h4><code
                class="func"><strong>get_container</strong>
            ()</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>returns the jQuery extended instance container</p></div>
                <ul class="params list-unstyled">
                    <li><code class="param return">Returns</code>
                        <p><code class="type">jQuery</code></p></li>
                </ul>
            </div>
        </div>
        <div class="item private" rel="get_container_ul()" style="display: block;"><h4><code
                class="func"><strong>get_container_ul</strong> ()</code><code class="meta">private</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>returns the jQuery extended main UL node inside the instance container. Used
                    internally.</p></div>
                <ul class="params list-unstyled">
                    <li><code class="param return">Returns</code>
                        <p><code class="type">jQuery</code></p></li>
                </ul>
            </div>
        </div>
        <div class="item private" rel="get_string(key)" style="display: block;"><h4><code class="func"><strong>get_string</strong>
            (key)</code><code class="meta">private</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>gets string replacements (localization). Used internally.</p></div>
                <ul class="params list-unstyled">
                    <li><code class="param">key</code>
                        <p><code class="type">String</code></p></li>
                </ul>
                <ul class="params list-unstyled">
                    <li><code class="param return">Returns</code>
                        <p><code class="type">String</code></p></li>
                </ul>
            </div>
        </div>
        <div class="item private" rel="_firstChild(dom)" style="display: block;"><h4><code class="func"><strong>_firstChild</strong>
            (dom)</code><code class="meta">private</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>gets the first child of a DOM node. Used internally.</p></div>
                <ul class="params list-unstyled">
                    <li><code class="param">dom</code>
                        <p><code class="type">DOMElement</code></p></li>
                </ul>
                <ul class="params list-unstyled">
                    <li><code class="param return">Returns</code>
                        <p><code class="type">DOMElement</code></p></li>
                </ul>
            </div>
        </div>
        <div class="item private" rel="_nextSibling(dom)" style="display: block;"><h4><code
                class="func"><strong>_nextSibling</strong> (dom)</code><code class="meta">private</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>gets the next sibling of a DOM node. Used internally.</p></div>
                <ul class="params list-unstyled">
                    <li><code class="param">dom</code>
                        <p><code class="type">DOMElement</code></p></li>
                </ul>
                <ul class="params list-unstyled">
                    <li><code class="param return">Returns</code>
                        <p><code class="type">DOMElement</code></p></li>
                </ul>
            </div>
        </div>
        <div class="item private" rel="_previousSibling(dom)" style="display: block;"><h4><code
                class="func"><strong>_previousSibling</strong> (dom)</code><code class="meta">private</code>
        </h4>
            <div class="item-inner wont-show" style=";">
                <div><p>gets the previous sibling of a DOM node. Used internally.</p></div>
                <ul class="params list-unstyled">
                    <li><code class="param">dom</code>
                        <p><code class="type">DOMElement</code></p></li>
                </ul>
                <ul class="params list-unstyled">
                    <li><code class="param return">Returns</code>
                        <p><code class="type">DOMElement</code></p></li>
                </ul>
            </div>
        </div>
        <div class="item " rel="get_node(obj [, as_dom])" style="display: block;"><h4><code
                class="func"><strong>get_node</strong> (obj [, as_dom])</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>get the JSON representation of a node (or the actual jQuery extended DOM node) by using
                    any input (child DOM element, ID string, selector, etc)</p></div>
                <ul class="params list-unstyled">
                    <li><code class="param">obj</code>
                        <p><code class="type">mixed</code></p></li>
                    <li><code class="param">as_dom</code>
                        <p><code class="type">Boolean</code></p></li>
                </ul>
                <ul class="params list-unstyled">
                    <li><code class="param return">Returns</code>
                        <p><code class="type">Object</code> <code class="type">jQuery</code></p></li>
                </ul>
            </div>
        </div>
        <div class="item " rel="get_path(obj [, glue, ids])" style="display: block;"><h4><code
                class="func"><strong>get_path</strong> (obj [, glue, ids])</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>get the path to a node, either consisting of node texts, or of node IDs, optionally
                    glued together (otherwise an array)</p></div>
                <ul class="params list-unstyled">
                    <li><code class="param">obj</code>
                        <p><code class="type">mixed</code></p>
                        <p>the node</p>
                        <p></p></li>
                    <li><code class="param">glue</code>
                        <p><code class="type">String</code></p>
                        <p>if you want the path as a string - pass the glue here (for example '/'), if a falsy
                            value is supplied here, an array is returned</p>
                        <p></p></li>
                    <li><code class="param">ids</code>
                        <p><code class="type">Boolean</code></p>
                        <p>if set to true build the path using ID, otherwise node text is used</p>
                        <p></p></li>
                </ul>
                <ul class="params list-unstyled">
                    <li><code class="param return">Returns</code>
                        <p><code class="type">mixed</code></p></li>
                </ul>
            </div>
        </div>
        <div class="item " rel="get_next_dom(obj [, strict])" style="display: block;"><h4><code
                class="func"><strong>get_next_dom</strong> (obj [, strict])</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>get the next visible node that is below the <code>obj</code> node. If
                    <code>strict</code> is set to <code>true</code> only sibling nodes are returned.</p></div>
                <ul class="params list-unstyled">
                    <li><code class="param">obj</code>
                        <p><code class="type">mixed</code></p></li>
                    <li><code class="param">strict</code>
                        <p><code class="type">Boolean</code></p></li>
                </ul>
                <ul class="params list-unstyled">
                    <li><code class="param return">Returns</code>
                        <p><code class="type">jQuery</code></p></li>
                </ul>
            </div>
        </div>
        <div class="item " rel="get_prev_dom(obj [, strict])" style="display: block;"><h4><code
                class="func"><strong>get_prev_dom</strong> (obj [, strict])</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>get the previous visible node that is above the <code>obj</code> node. If
                    <code>strict</code> is set to <code>true</code> only sibling nodes are returned.</p></div>
                <ul class="params list-unstyled">
                    <li><code class="param">obj</code>
                        <p><code class="type">mixed</code></p></li>
                    <li><code class="param">strict</code>
                        <p><code class="type">Boolean</code></p></li>
                </ul>
                <ul class="params list-unstyled">
                    <li><code class="param return">Returns</code>
                        <p><code class="type">jQuery</code></p></li>
                </ul>
            </div>
        </div>
        <div class="item " rel="get_parent(obj)" style="display: block;"><h4><code
                class="func"><strong>get_parent</strong>
            (obj)</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>get the parent ID of a node</p></div>
                <ul class="params list-unstyled">
                    <li><code class="param">obj</code>
                        <p><code class="type">mixed</code></p></li>
                </ul>
                <ul class="params list-unstyled">
                    <li><code class="param return">Returns</code>
                        <p><code class="type">String</code></p></li>
                </ul>
            </div>
        </div>
        <div class="item " rel="get_children_dom(obj)" style="display: block;"><h4><code class="func"><strong>get_children_dom</strong>
            (obj)</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>get a jQuery collection of all the children of a node (node must be rendered), returns
                    false on error</p></div>
                <ul class="params list-unstyled">
                    <li><code class="param">obj</code>
                        <p><code class="type">mixed</code></p></li>
                </ul>
                <ul class="params list-unstyled">
                    <li><code class="param return">Returns</code>
                        <p><code class="type">jQuery</code></p></li>
                </ul>
            </div>
        </div>
        <div class="item " rel="is_parent(obj)" style="display: block;"><h4><code
                class="func"><strong>is_parent</strong> (obj)</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>checks if a node has children</p></div>
                <ul class="params list-unstyled">
                    <li><code class="param">obj</code>
                        <p><code class="type">mixed</code></p></li>
                </ul>
                <ul class="params list-unstyled">
                    <li><code class="param return">Returns</code>
                        <p><code class="type">Boolean</code></p></li>
                </ul>
            </div>
        </div>
        <div class="item " rel="is_loaded(obj)" style="display: block;"><h4><code
                class="func"><strong>is_loaded</strong> (obj)</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>checks if a node is loaded (its children are available)</p></div>
                <ul class="params list-unstyled">
                    <li><code class="param">obj</code>
                        <p><code class="type">mixed</code></p></li>
                </ul>
                <ul class="params list-unstyled">
                    <li><code class="param return">Returns</code>
                        <p><code class="type">Boolean</code></p></li>
                </ul>
            </div>
        </div>
        <div class="item " rel="is_loading(obj)" style="display: block;"><h4><code
                class="func"><strong>is_loading</strong>
            (obj)</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>check if a node is currently loading (fetching children)</p></div>
                <ul class="params list-unstyled">
                    <li><code class="param">obj</code>
                        <p><code class="type">mixed</code></p></li>
                </ul>
                <ul class="params list-unstyled">
                    <li><code class="param return">Returns</code>
                        <p><code class="type">Boolean</code></p></li>
                </ul>
            </div>
        </div>
        <div class="item " rel="is_open(obj)" style="display: block;"><h4><code
                class="func"><strong>is_open</strong> (obj)</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>check if a node is opened</p></div>
                <ul class="params list-unstyled">
                    <li><code class="param">obj</code>
                        <p><code class="type">mixed</code></p></li>
                </ul>
                <ul class="params list-unstyled">
                    <li><code class="param return">Returns</code>
                        <p><code class="type">Boolean</code></p></li>
                </ul>
            </div>
        </div>
        <div class="item " rel="is_closed(obj)" style="display: block;"><h4><code
                class="func"><strong>is_closed</strong> (obj)</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>check if a node is in a closed state</p></div>
                <ul class="params list-unstyled">
                    <li><code class="param">obj</code>
                        <p><code class="type">mixed</code></p></li>
                </ul>
                <ul class="params list-unstyled">
                    <li><code class="param return">Returns</code>
                        <p><code class="type">Boolean</code></p></li>
                </ul>
            </div>
        </div>
        <div class="item " rel="is_leaf(obj)" style="display: block;"><h4><code
                class="func"><strong>is_leaf</strong> (obj)</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>check if a node has no children</p></div>
                <ul class="params list-unstyled">
                    <li><code class="param">obj</code>
                        <p><code class="type">mixed</code></p></li>
                </ul>
                <ul class="params list-unstyled">
                    <li><code class="param return">Returns</code>
                        <p><code class="type">Boolean</code></p></li>
                </ul>
            </div>
        </div>
        <div class="item " rel="load_node(obj [, callback])" style="display: block;"><h4><code
                class="func"><strong>load_node</strong> (obj [, callback])</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>loads a node (fetches its children using the <code>core.data</code> setting). Multiple
                    nodes can be passed to by using an array.</p></div>
                <ul class="params list-unstyled">
                    <li><code class="param">obj</code>
                        <p><code class="type">mixed</code></p></li>
                    <li><code class="param">callback</code>
                        <p><code class="type">function</code></p>
                        <p>a function to be executed once loading is complete, the function is executed in the
                            instance's scope and receives two arguments - the node and a boolean status</p>
                        <p></p></li>
                </ul>
                <ul class="params list-unstyled">
                    <li><code class="param return">Returns</code>
                        <p><code class="type">Boolean</code></p></li>
                </ul>
                <ul class="params list-unstyled">
                    <li><code class="param trigger">Triggers</code>
                        <p><code class="evnt">load_node.jstree</code></p></li>
                </ul>
            </div>
        </div>
        <div class="item " rel="load_node.jstree" style="display: block;"><h4><code class="evnt">load_node.jstree
            Event <i class="glyphicon glyphicon-flash"></i></code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>triggered after a node is loaded</p></div>
                <ul class="params list-unstyled">
                    <li><code class="param">node</code>
                        <p><code class="type">Object</code></p>
                        <p>the node that was loading</p>
                        <p></p></li>
                    <li><code class="param">status</code>
                        <p><code class="type">Boolean</code></p>
                        <p>was the node loaded successfully</p>
                        <p></p></li>
                </ul>
            </div>
        </div>
        <div class="item private" rel="_load_nodes(nodes [, callback])" style="display: block;"><h4><code
                class="func"><strong>_load_nodes</strong> (nodes [, callback])</code><code
                class="meta">private</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>load an array of nodes (will also load unavailable nodes as soon as they appear in the
                    structure). Used internally.</p></div>
                <ul class="params list-unstyled">
                    <li><code class="param">nodes</code>
                        <p><code class="type">array</code></p></li>
                    <li><code class="param">callback</code>
                        <p><code class="type">function</code></p>
                        <p>a function to be executed once loading is complete, the function is executed in the
                            instance's scope and receives one argument - the array passed to _load_nodes</p>
                        <p></p></li>
                </ul>
            </div>
        </div>
        <div class="item " rel="load_all([obj, callback])" style="display: block;"><h4><code
                class="func"><strong>load_all</strong> ([obj, callback])</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>loads all unloaded nodes</p></div>
                <ul class="params list-unstyled">
                    <li><code class="param">obj</code>
                        <p><code class="type">mixed</code></p>
                        <p>the node to load recursively, omit to load all nodes in the tree</p>
                        <p></p></li>
                    <li><code class="param">callback</code>
                        <p><code class="type">function</code></p>
                        <p>a function to be executed once loading all the nodes is complete,</p>
                        <p></p></li>
                </ul>
                <ul class="params list-unstyled">
                    <li><code class="param trigger">Triggers</code>
                        <p><code class="evnt">load_all.jstree</code></p></li>
                </ul>
            </div>
        </div>
        <div class="item " rel="load_all.jstree" style="display: block;"><h4><code class="evnt">load_all.jstree
            Event <i class="glyphicon glyphicon-flash"></i></code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>triggered after a load_all call completes</p></div>
                <ul class="params list-unstyled">
                    <li><code class="param">node</code>
                        <p><code class="type">Object</code></p>
                        <p>the recursively loaded node</p>
                        <p></p></li>
                </ul>
            </div>
        </div>
        <div class="item private" rel="_load_node(obj [, callback])" style="display: block;"><h4><code
                class="func"><strong>_load_node</strong> (obj [, callback])</code><code
                class="meta">private</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>handles the actual loading of a node. Used only internally.</p></div>
                <ul class="params list-unstyled">
                    <li><code class="param">obj</code>
                        <p><code class="type">mixed</code></p></li>
                    <li><code class="param">callback</code>
                        <p><code class="type">function</code></p>
                        <p>a function to be executed once loading is complete, the function is executed in the
                            instance's scope and receives one argument - a boolean status</p>
                        <p></p></li>
                </ul>
                <ul class="params list-unstyled">
                    <li><code class="param return">Returns</code>
                        <p><code class="type">Boolean</code></p></li>
                </ul>
            </div>
        </div>
        <div class="item private" rel="_node_changed(obj [, callback])" style="display: block;"><h4><code
                class="func"><strong>_node_changed</strong> (obj [, callback])</code><code
                class="meta">private</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>adds a node to the list of nodes to redraw. Used only internally.</p></div>
                <ul class="params list-unstyled">
                    <li><code class="param">obj</code>
                        <p><code class="type">mixed</code></p></li>
                </ul>
            </div>
        </div>
        <div class="item private" rel="_append_html_data(obj, data)" style="display: block;"><h4><code
                class="func"><strong>_append_html_data</strong> (obj, data)</code><code
                class="meta">private</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>appends HTML content to the tree. Used internally.</p></div>
                <ul class="params list-unstyled">
                    <li><code class="param">obj</code>
                        <p><code class="type">mixed</code></p>
                        <p>the node to append to</p>
                        <p></p></li>
                    <li><code class="param">data</code>
                        <p><code class="type">String</code></p>
                        <p>the HTML string to parse and append</p>
                        <p></p></li>
                </ul>
                <ul class="params list-unstyled">
                    <li><code class="param trigger">Triggers</code>
                        <p><code class="evnt">model.jstree</code> <code class="evnt"> changed.jstree</code></p>
                    </li>
                </ul>
            </div>
        </div>
        <div class="item " rel="model.jstree" style="display: block;"><h4><code class="evnt">model.jstree Event
            <i class="glyphicon glyphicon-flash"></i></code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>triggered when new data is inserted to the tree model</p></div>
                <ul class="params list-unstyled">
                    <li><code class="param">nodes</code>
                        <p><code class="type">Array</code></p>
                        <p>an array of node IDs</p>
                        <p></p></li>
                    <li><code class="param">parent</code>
                        <p><code class="type">String</code></p>
                        <p>the parent ID of the nodes</p>
                        <p></p></li>
                </ul>
            </div>
        </div>
        <div class="item private" rel="_append_json_data(obj, data)" style="display: block;"><h4><code
                class="func"><strong>_append_json_data</strong> (obj, data)</code><code
                class="meta">private</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>appends JSON content to the tree. Used internally.</p></div>
                <ul class="params list-unstyled">
                    <li><code class="param">obj</code>
                        <p><code class="type">mixed</code></p>
                        <p>the node to append to</p>
                        <p></p></li>
                    <li><code class="param">data</code>
                        <p><code class="type">String</code></p>
                        <p>the JSON object to parse and append</p>
                        <p></p></li>
                    <li><code class="param">force_processing</code>
                        <p><code class="type">Boolean</code></p>
                        <p>internal param - do not set</p>
                        <p></p></li>
                </ul>
                <ul class="params list-unstyled">
                    <li><code class="param trigger">Triggers</code>
                        <p><code class="evnt">model.jstree</code> <code class="evnt"> changed.jstree</code></p>
                    </li>
                </ul>
            </div>
        </div>
        <div class="item private" rel="_parse_model_from_html(d [, p, ps])" style="display: block;"><h4><code
                class="func"><strong>_parse_model_from_html</strong> (d [, p, ps])</code><code
                class="meta">private</code>
        </h4>
            <div class="item-inner wont-show" style=";">
                <div><p>parses a node from a jQuery object and appends them to the in memory tree model. Used
                    internally.</p></div>
                <ul class="params list-unstyled">
                    <li><code class="param">d</code>
                        <p><code class="type">jQuery</code></p>
                        <p>the jQuery object to parse</p>
                        <p></p></li>
                    <li><code class="param">p</code>
                        <p><code class="type">String</code></p>
                        <p>the parent ID</p>
                        <p></p></li>
                    <li><code class="param">ps</code>
                        <p><code class="type">Array</code></p>
                        <p>list of all parents</p>
                        <p></p></li>
                </ul>
                <ul class="params list-unstyled">
                    <li><code class="param return">Returns</code>
                        <p><code class="type">String</code></p>
                        <p>the ID of the object added to the model</p>
                        <p></p></li>
                </ul>
            </div>
        </div>
        <div class="item private" rel="_parse_model_from_flat_json(d [, p, ps])" style="display: block;"><h4>
            <code class="func"><strong>_parse_model_from_flat_json</strong> (d [, p, ps])</code><code
                class="meta">private</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>parses a node from a JSON object (used when dealing with flat data, which has no nesting
                    of children, but has id and parent properties) and appends it to the in memory tree model.
                    Used internally.</p></div>
                <ul class="params list-unstyled">
                    <li><code class="param">d</code>
                        <p><code class="type">Object</code></p>
                        <p>the JSON object to parse</p>
                        <p></p></li>
                    <li><code class="param">p</code>
                        <p><code class="type">String</code></p>
                        <p>the parent ID</p>
                        <p></p></li>
                    <li><code class="param">ps</code>
                        <p><code class="type">Array</code></p>
                        <p>list of all parents</p>
                        <p></p></li>
                </ul>
                <ul class="params list-unstyled">
                    <li><code class="param return">Returns</code>
                        <p><code class="type">String</code></p>
                        <p>the ID of the object added to the model</p>
                        <p></p></li>
                </ul>
            </div>
        </div>
        <div class="item private" rel="_parse_model_from_json(d [, p, ps])" style="display: block;"><h4><code
                class="func"><strong>_parse_model_from_json</strong> (d [, p, ps])</code><code
                class="meta">private</code>
        </h4>
            <div class="item-inner wont-show" style=";">
                <div><p>parses a node from a JSON object and appends it to the in memory tree model. Used
                    internally.</p></div>
                <ul class="params list-unstyled">
                    <li><code class="param">d</code>
                        <p><code class="type">Object</code></p>
                        <p>the JSON object to parse</p>
                        <p></p></li>
                    <li><code class="param">p</code>
                        <p><code class="type">String</code></p>
                        <p>the parent ID</p>
                        <p></p></li>
                    <li><code class="param">ps</code>
                        <p><code class="type">Array</code></p>
                        <p>list of all parents</p>
                        <p></p></li>
                </ul>
                <ul class="params list-unstyled">
                    <li><code class="param return">Returns</code>
                        <p><code class="type">String</code></p>
                        <p>the ID of the object added to the model</p>
                        <p></p></li>
                </ul>
            </div>
        </div>
        <div class="item private" rel="_redraw()" style="display: block;"><h4><code
                class="func"><strong>_redraw</strong> ()</code><code class="meta">private</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>redraws all nodes that need to be redrawn. Used internally.</p></div>
                <ul class="params list-unstyled">
                    <li><code class="param trigger">Triggers</code>
                        <p><code class="evnt">redraw.jstree</code></p></li>
                </ul>
            </div>
        </div>
        <div class="item " rel="redraw.jstree" style="display: block;"><h4><code class="evnt">redraw.jstree
            Event <i class="glyphicon glyphicon-flash"></i></code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>triggered after nodes are redrawn</p></div>
                <ul class="params list-unstyled">
                    <li><code class="param">nodes</code>
                        <p><code class="type">array</code></p>
                        <p>the redrawn nodes</p>
                        <p></p></li>
                </ul>
            </div>
        </div>
        <div class="item " rel="redraw([full])" style="display: block;"><h4><code
                class="func"><strong>redraw</strong> ([full])</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>redraws all nodes that need to be redrawn or optionally - the whole tree</p></div>
                <ul class="params list-unstyled">
                    <li><code class="param">full</code>
                        <p><code class="type">Boolean</code></p>
                        <p>if set to <code>true</code> all nodes are redrawn.</p>
                        <p></p></li>
                </ul>
            </div>
        </div>
        <div class="item private" rel="draw_children(node)" style="display: block;"><h4><code
                class="func"><strong>draw_children</strong> (node)</code><code class="meta">private</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>redraws a single node's children. Used internally.</p></div>
                <ul class="params list-unstyled">
                    <li><code class="param">node</code>
                        <p><code class="type">mixed</code></p>
                        <p>the node whose children will be redrawn</p>
                        <p></p></li>
                </ul>
            </div>
        </div>
        <div class="item private" rel="redraw_node(node, deep, is_callback, force_render)"
             style="display: block;"><h4><code class="func"><strong>redraw_node</strong> (node, deep,
            is_callback, force_render)</code><code class="meta">private</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>redraws a single node. Used internally.</p></div>
                <ul class="params list-unstyled">
                    <li><code class="param">node</code>
                        <p><code class="type">mixed</code></p>
                        <p>the node to redraw</p>
                        <p></p></li>
                    <li><code class="param">deep</code>
                        <p><code class="type">Boolean</code></p>
                        <p>should child nodes be redrawn too</p>
                        <p></p></li>
                    <li><code class="param">is_callback</code>
                        <p><code class="type">Boolean</code></p>
                        <p>is this a recursion call</p>
                        <p></p></li>
                    <li><code class="param">force_render</code>
                        <p><code class="type">Boolean</code></p>
                        <p>should children of closed parents be drawn anyway</p>
                        <p></p></li>
                </ul>
            </div>
        </div>
        <div class="item " rel="open_node(obj [, callback, animation])" style="display: block;"><h4><code
                class="func"><strong>open_node</strong> (obj [, callback, animation])</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>opens a node, revealing its children. If the node is not loaded it will be loaded and
                    opened once ready.</p></div>
                <ul class="params list-unstyled">
                    <li><code class="param">obj</code>
                        <p><code class="type">mixed</code></p>
                        <p>the node to open</p>
                        <p></p></li>
                    <li><code class="param">callback</code>
                        <p><code class="type">Function</code></p>
                        <p>a function to execute once the node is opened</p>
                        <p></p></li>
                    <li><code class="param">animation</code>
                        <p><code class="type">Number</code></p>
                        <p>the animation duration in milliseconds when opening the node (overrides the <code>core.animation</code>
                            setting). Use <code>false</code> for no animation.</p>
                        <p></p></li>
                </ul>
                <ul class="params list-unstyled">
                    <li><code class="param trigger">Triggers</code>
                        <p><code class="evnt">open_node.jstree</code> <code class="evnt">
                            after_open.jstree</code> <code class="evnt"> before_open.jstree</code></p></li>
                </ul>
            </div>
        </div>
        <div class="item " rel="before_open.jstree" style="display: block;"><h4><code class="evnt">before_open.jstree
            Event <i class="glyphicon glyphicon-flash"></i></code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>triggered when a node is about to be opened (if the node is supposed to be in the DOM,
                    it will be, but it won't be visible yet)</p></div>
                <ul class="params list-unstyled">
                    <li><code class="param">node</code>
                        <p><code class="type">Object</code></p>
                        <p>the opened node</p>
                        <p></p></li>
                </ul>
            </div>
        </div>
        <div class="item " rel="open_node.jstree" style="display: block;"><h4><code class="evnt">open_node.jstree
            Event <i class="glyphicon glyphicon-flash"></i></code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>triggered when a node is opened (if there is an animation it will not be completed
                    yet)</p></div>
                <ul class="params list-unstyled">
                    <li><code class="param">node</code>
                        <p><code class="type">Object</code></p>
                        <p>the opened node</p>
                        <p></p></li>
                </ul>
            </div>
        </div>
        <div class="item " rel="after_open.jstree" style="display: block;"><h4><code class="evnt">after_open.jstree
            Event <i class="glyphicon glyphicon-flash"></i></code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>triggered when a node is opened and the animation is complete</p></div>
                <ul class="params list-unstyled">
                    <li><code class="param">node</code>
                        <p><code class="type">Object</code></p>
                        <p>the opened node</p>
                        <p></p></li>
                </ul>
            </div>
        </div>
        <div class="item private" rel="_open_to(obj)" style="display: block;"><h4><code
                class="func"><strong>_open_to</strong>
            (obj)</code><code class="meta">private</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>opens every parent of a node (node should be loaded)</p></div>
                <ul class="params list-unstyled">
                    <li><code class="param">obj</code>
                        <p><code class="type">mixed</code></p>
                        <p>the node to reveal</p>
                        <p></p></li>
                </ul>
            </div>
        </div>
        <div class="item " rel="close_node(obj [, animation])" style="display: block;"><h4><code
                class="func"><strong>close_node</strong> (obj [, animation])</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>closes a node, hiding its children</p></div>
                <ul class="params list-unstyled">
                    <li><code class="param">obj</code>
                        <p><code class="type">mixed</code></p>
                        <p>the node to close</p>
                        <p></p></li>
                    <li><code class="param">animation</code>
                        <p><code class="type">Number</code></p>
                        <p>the animation duration in milliseconds when closing the node (overrides the <code>core.animation</code>
                            setting). Use <code>false</code> for no animation.</p>
                        <p></p></li>
                </ul>
                <ul class="params list-unstyled">
                    <li><code class="param trigger">Triggers</code>
                        <p><code class="evnt">close_node.jstree</code> <code class="evnt">
                            after_close.jstree</code></p></li>
                </ul>
            </div>
        </div>
        <div class="item " rel="close_node.jstree" style="display: block;"><h4><code class="evnt">close_node.jstree
            Event <i class="glyphicon glyphicon-flash"></i></code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>triggered when a node is closed (if there is an animation it will not be complete
                    yet)</p></div>
                <ul class="params list-unstyled">
                    <li><code class="param">node</code>
                        <p><code class="type">Object</code></p>
                        <p>the closed node</p>
                        <p></p></li>
                </ul>
            </div>
        </div>
        <div class="item " rel="after_close.jstree" style="display: block;"><h4><code class="evnt">after_close.jstree
            Event <i class="glyphicon glyphicon-flash"></i></code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>triggered when a node is closed and the animation is complete</p></div>
                <ul class="params list-unstyled">
                    <li><code class="param">node</code>
                        <p><code class="type">Object</code></p>
                        <p>the closed node</p>
                        <p></p></li>
                </ul>
            </div>
        </div>
        <div class="item " rel="toggle_node(obj)" style="display: block;"><h4><code
                class="func"><strong>toggle_node</strong>
            (obj)</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>toggles a node - closing it if it is open, opening it if it is closed</p></div>
                <ul class="params list-unstyled">
                    <li><code class="param">obj</code>
                        <p><code class="type">mixed</code></p>
                        <p>the node to toggle</p>
                        <p></p></li>
                </ul>
            </div>
        </div>
        <div class="item " rel="open_all([obj, animation, original_obj])" style="display: block;"><h4><code
                class="func"><strong>open_all</strong> ([obj, animation, original_obj])</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>opens all nodes within a node (or the tree), revealing their children. If the node is
                    not loaded it will be loaded and opened once ready.</p></div>
                <ul class="params list-unstyled">
                    <li><code class="param">obj</code>
                        <p><code class="type">mixed</code></p>
                        <p>the node to open recursively, omit to open all nodes in the tree</p>
                        <p></p></li>
                    <li><code class="param">animation</code>
                        <p><code class="type">Number</code></p>
                        <p>the animation duration in milliseconds when opening the nodes, the default is no
                            animation</p>
                        <p></p></li>
                    <li><code class="param">reference</code>
                        <p><code class="type">jQuery</code></p>
                        <p>to the node that started the process (internal use)</p>
                        <p></p></li>
                </ul>
                <ul class="params list-unstyled">
                    <li><code class="param trigger">Triggers</code>
                        <p><code class="evnt">open_all.jstree</code></p></li>
                </ul>
            </div>
        </div>
        <div class="item " rel="open_all.jstree" style="display: block;"><h4><code class="evnt">open_all.jstree
            Event <i class="glyphicon glyphicon-flash"></i></code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>triggered when an <code>open_all</code> call completes</p></div>
                <ul class="params list-unstyled">
                    <li><code class="param">node</code>
                        <p><code class="type">Object</code></p>
                        <p>the opened node</p>
                        <p></p></li>
                </ul>
            </div>
        </div>
        <div class="item " rel="close_all([obj, animation])" style="display: block;"><h4><code
                class="func"><strong>close_all</strong> ([obj, animation])</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>closes all nodes within a node (or the tree), revealing their children</p></div>
                <ul class="params list-unstyled">
                    <li><code class="param">obj</code>
                        <p><code class="type">mixed</code></p>
                        <p>the node to close recursively, omit to close all nodes in the tree</p>
                        <p></p></li>
                    <li><code class="param">animation</code>
                        <p><code class="type">Number</code></p>
                        <p>the animation duration in milliseconds when closing the nodes, the default is no
                            animation</p>
                        <p></p></li>
                </ul>
                <ul class="params list-unstyled">
                    <li><code class="param trigger">Triggers</code>
                        <p><code class="evnt">close_all.jstree</code></p></li>
                </ul>
            </div>
        </div>
        <div class="item " rel="close_all.jstree" style="display: block;"><h4><code class="evnt">close_all.jstree
            Event <i class="glyphicon glyphicon-flash"></i></code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>triggered when an <code>close_all</code> call completes</p></div>
                <ul class="params list-unstyled">
                    <li><code class="param">node</code>
                        <p><code class="type">Object</code></p>
                        <p>the closed node</p>
                        <p></p></li>
                </ul>
            </div>
        </div>
        <div class="item " rel="is_disabled(obj)" style="display: block;"><h4><code
                class="func"><strong>is_disabled</strong>
            (obj)</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>checks if a node is disabled (not selectable)</p></div>
                <ul class="params list-unstyled">
                    <li><code class="param">obj</code>
                        <p><code class="type">mixed</code></p></li>
                </ul>
                <ul class="params list-unstyled">
                    <li><code class="param return">Returns</code>
                        <p><code class="type">Boolean</code></p></li>
                </ul>
            </div>
        </div>
        <div class="item " rel="enable_node(obj)" style="display: block;"><h4><code
                class="func"><strong>enable_node</strong>
            (obj)</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>enables a node - so that it can be selected</p></div>
                <ul class="params list-unstyled">
                    <li><code class="param">obj</code>
                        <p><code class="type">mixed</code></p>
                        <p>the node to enable</p>
                        <p></p></li>
                </ul>
                <ul class="params list-unstyled">
                    <li><code class="param trigger">Triggers</code>
                        <p><code class="evnt">enable_node.jstree</code></p></li>
                </ul>
            </div>
        </div>
        <div class="item " rel="enable_node.jstree" style="display: block;"><h4><code class="evnt">enable_node.jstree
            Event <i class="glyphicon glyphicon-flash"></i></code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>triggered when an node is enabled</p></div>
                <ul class="params list-unstyled">
                    <li><code class="param">node</code>
                        <p><code class="type">Object</code></p>
                        <p>the enabled node</p>
                        <p></p></li>
                </ul>
            </div>
        </div>
        <div class="item " rel="disable_node(obj)" style="display: block;"><h4><code
                class="func"><strong>disable_node</strong>
            (obj)</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>disables a node - so that it can not be selected</p></div>
                <ul class="params list-unstyled">
                    <li><code class="param">obj</code>
                        <p><code class="type">mixed</code></p>
                        <p>the node to disable</p>
                        <p></p></li>
                </ul>
                <ul class="params list-unstyled">
                    <li><code class="param trigger">Triggers</code>
                        <p><code class="evnt">disable_node.jstree</code></p></li>
                </ul>
            </div>
        </div>
        <div class="item " rel="disable_node.jstree" style="display: block;"><h4><code class="evnt">disable_node.jstree
            Event <i class="glyphicon glyphicon-flash"></i></code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>triggered when an node is disabled</p></div>
                <ul class="params list-unstyled">
                    <li><code class="param">node</code>
                        <p><code class="type">Object</code></p>
                        <p>the disabled node</p>
                        <p></p></li>
                </ul>
            </div>
        </div>
        <div class="item " rel="is_hidden(obj)" style="display: block;"><h4><code
                class="func"><strong>is_hidden</strong> (obj)</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>determines if a node is hidden</p></div>
                <ul class="params list-unstyled">
                    <li><code class="param">obj</code>
                        <p><code class="type">mixed</code></p>
                        <p>the node</p>
                        <p></p></li>
                </ul>
            </div>
        </div>
        <div class="item " rel="hide_node(obj)" style="display: block;"><h4><code
                class="func"><strong>hide_node</strong> (obj)</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>hides a node - it is still in the structure but will not be visible</p></div>
                <ul class="params list-unstyled">
                    <li><code class="param">obj</code>
                        <p><code class="type">mixed</code></p>
                        <p>the node to hide</p>
                        <p></p></li>
                    <li><code class="param">skip_redraw</code>
                        <p><code class="type">Boolean</code></p>
                        <p>internal parameter controlling if redraw is called</p>
                        <p></p></li>
                </ul>
                <ul class="params list-unstyled">
                    <li><code class="param trigger">Triggers</code>
                        <p><code class="evnt">hide_node.jstree</code></p></li>
                </ul>
            </div>
        </div>
        <div class="item " rel="hide_node.jstree" style="display: block;"><h4><code class="evnt">hide_node.jstree
            Event <i class="glyphicon glyphicon-flash"></i></code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>triggered when an node is hidden</p></div>
                <ul class="params list-unstyled">
                    <li><code class="param">node</code>
                        <p><code class="type">Object</code></p>
                        <p>the hidden node</p>
                        <p></p></li>
                </ul>
            </div>
        </div>
        <div class="item " rel="show_node(obj)" style="display: block;"><h4><code
                class="func"><strong>show_node</strong> (obj)</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>shows a node</p></div>
                <ul class="params list-unstyled">
                    <li><code class="param">obj</code>
                        <p><code class="type">mixed</code></p>
                        <p>the node to show</p>
                        <p></p></li>
                    <li><code class="param">skip_redraw</code>
                        <p><code class="type">Boolean</code></p>
                        <p>internal parameter controlling if redraw is called</p>
                        <p></p></li>
                </ul>
                <ul class="params list-unstyled">
                    <li><code class="param trigger">Triggers</code>
                        <p><code class="evnt">show_node.jstree</code></p></li>
                </ul>
            </div>
        </div>
        <div class="item " rel="show_node.jstree" style="display: block;"><h4><code class="evnt">show_node.jstree
            Event <i class="glyphicon glyphicon-flash"></i></code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>triggered when an node is shown</p></div>
                <ul class="params list-unstyled">
                    <li><code class="param">node</code>
                        <p><code class="type">Object</code></p>
                        <p>the shown node</p>
                        <p></p></li>
                </ul>
            </div>
        </div>
        <div class="item " rel="hide_all()" style="display: block;"><h4><code
                class="func"><strong>hide_all</strong> ()</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>hides all nodes</p></div>
                <ul class="params list-unstyled">
                    <li><code class="param trigger">Triggers</code>
                        <p><code class="evnt">hide_all.jstree</code></p></li>
                </ul>
            </div>
        </div>
        <div class="item " rel="hide_all.jstree" style="display: block;"><h4><code class="evnt">hide_all.jstree
            Event <i class="glyphicon glyphicon-flash"></i></code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>triggered when all nodes are hidden</p></div>
                <ul class="params list-unstyled">
                    <li><code class="param">nodes</code>
                        <p><code class="type">Array</code></p>
                        <p>the IDs of all hidden nodes</p>
                        <p></p></li>
                </ul>
            </div>
        </div>
        <div class="item " rel="show_all()" style="display: block;"><h4><code
                class="func"><strong>show_all</strong> ()</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>shows all nodes</p></div>
                <ul class="params list-unstyled">
                    <li><code class="param trigger">Triggers</code>
                        <p><code class="evnt">show_all.jstree</code></p></li>
                </ul>
            </div>
        </div>
        <div class="item " rel="show_all.jstree" style="display: block;"><h4><code class="evnt">show_all.jstree
            Event <i class="glyphicon glyphicon-flash"></i></code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>triggered when all nodes are shown</p></div>
                <ul class="params list-unstyled">
                    <li><code class="param">nodes</code>
                        <p><code class="type">Array</code></p>
                        <p>the IDs of all shown nodes</p>
                        <p></p></li>
                </ul>
            </div>
        </div>
        <div class="item private" rel="activate_node(obj, e)" style="display: block;"><h4><code
                class="func"><strong>activate_node</strong> (obj, e)</code><code class="meta">private</code>
        </h4>
            <div class="item-inner wont-show" style=";">
                <div><p>called when a node is selected by the user. Used internally.</p></div>
                <ul class="params list-unstyled">
                    <li><code class="param">obj</code>
                        <p><code class="type">mixed</code></p>
                        <p>the node</p>
                        <p></p></li>
                    <li><code class="param">e</code>
                        <p><code class="type">Object</code></p>
                        <p>the related event</p>
                        <p></p></li>
                </ul>
                <ul class="params list-unstyled">
                    <li><code class="param trigger">Triggers</code>
                        <p><code class="evnt">activate_node.jstree</code> <code class="evnt">
                            changed.jstree</code></p></li>
                </ul>
            </div>
        </div>
        <div class="item " rel="activate_node.jstree" style="display: block;"><h4><code class="evnt">activate_node.jstree
            Event <i class="glyphicon glyphicon-flash"></i></code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>triggered when an node is clicked or intercated with by the user</p></div>
                <ul class="params list-unstyled">
                    <li><code class="param">node</code>
                        <p><code class="type">Object</code></p></li>
                    <li><code class="param">event</code>
                        <p><code class="type">Object</code></p>
                        <p>the ooriginal event (if any) which triggered the call (may be an empty object)</p>
                        <p></p></li>
                </ul>
            </div>
        </div>
        <div class="item private" rel="hover_node(obj)" style="display: block;"><h4><code class="func"><strong>hover_node</strong>
            (obj)</code><code class="meta">private</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>applies the hover state on a node, called when a node is hovered by the user. Used
                    internally.</p></div>
                <ul class="params list-unstyled">
                    <li><code class="param">obj</code>
                        <p><code class="type">mixed</code></p></li>
                </ul>
                <ul class="params list-unstyled">
                    <li><code class="param trigger">Triggers</code>
                        <p><code class="evnt">hover_node.jstree</code></p></li>
                </ul>
            </div>
        </div>
        <div class="item " rel="hover_node.jstree" style="display: block;"><h4><code class="evnt">hover_node.jstree
            Event <i class="glyphicon glyphicon-flash"></i></code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>triggered when an node is hovered</p></div>
                <ul class="params list-unstyled">
                    <li><code class="param">node</code>
                        <p><code class="type">Object</code></p></li>
                </ul>
            </div>
        </div>
        <div class="item private" rel="dehover_node(obj)" style="display: block;"><h4><code
                class="func"><strong>dehover_node</strong> (obj)</code><code class="meta">private</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>removes the hover state from a nodecalled when a node is no longer hovered by the user.
                    Used internally.</p></div>
                <ul class="params list-unstyled">
                    <li><code class="param">obj</code>
                        <p><code class="type">mixed</code></p></li>
                </ul>
                <ul class="params list-unstyled">
                    <li><code class="param trigger">Triggers</code>
                        <p><code class="evnt">dehover_node.jstree</code></p></li>
                </ul>
            </div>
        </div>
        <div class="item " rel="dehover_node.jstree" style="display: block;"><h4><code class="evnt">dehover_node.jstree
            Event <i class="glyphicon glyphicon-flash"></i></code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>triggered when an node is no longer hovered</p></div>
                <ul class="params list-unstyled">
                    <li><code class="param">node</code>
                        <p><code class="type">Object</code></p></li>
                </ul>
            </div>
        </div>
        <div class="item " rel="select_node(obj [, supress_event, prevent_open])" style="display: block;"><h4>
            <code class="func"><strong>select_node</strong> (obj [, supress_event, prevent_open])</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>select a node</p></div>
                <ul class="params list-unstyled">
                    <li><code class="param">obj</code>
                        <p><code class="type">mixed</code></p>
                        <p>an array can be used to select multiple nodes</p>
                        <p></p></li>
                    <li><code class="param">supress_event</code>
                        <p><code class="type">Boolean</code></p>
                        <p>if set to <code>true</code> the <code>changed.jstree</code> event won't be triggered
                        </p>
                        <p></p></li>
                    <li><code class="param">prevent_open</code>
                        <p><code class="type">Boolean</code></p>
                        <p>if set to <code>true</code> parents of the selected node won't be opened</p>
                        <p></p></li>
                </ul>
                <ul class="params list-unstyled">
                    <li><code class="param trigger">Triggers</code>
                        <p><code class="evnt">select_node.jstree</code> <code class="evnt">
                            changed.jstree</code></p></li>
                </ul>
            </div>
        </div>
        <div class="item " rel="select_node.jstree" style="display: block;"><h4><code class="evnt">select_node.jstree
            Event <i class="glyphicon glyphicon-flash"></i></code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>triggered when an node is selected</p></div>
                <ul class="params list-unstyled">
                    <li><code class="param">node</code>
                        <p><code class="type">Object</code></p></li>
                    <li><code class="param">selected</code>
                        <p><code class="type">Array</code></p>
                        <p>the current selection</p>
                        <p></p></li>
                    <li><code class="param">event</code>
                        <p><code class="type">Object</code></p>
                        <p>the event (if any) that triggered this select_node</p>
                        <p></p></li>
                </ul>
            </div>
        </div>
        <div class="item " rel="changed.jstree" style="display: block;"><h4><code class="evnt">changed.jstree
            Event <i class="glyphicon glyphicon-flash"></i></code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>triggered when selection changes</p></div>
                <ul class="params list-unstyled">
                    <li><code class="param">node</code>
                        <p><code class="type">Object</code></p></li>
                    <li><code class="param">action</code>
                        <p><code class="type">Object</code></p>
                        <p>the action that caused the selection to change</p>
                        <p></p></li>
                    <li><code class="param">selected</code>
                        <p><code class="type">Array</code></p>
                        <p>the current selection</p>
                        <p></p></li>
                    <li><code class="param">event</code>
                        <p><code class="type">Object</code></p>
                        <p>the event (if any) that triggered this changed event</p>
                        <p></p></li>
                </ul>
            </div>
        </div>
        <div class="item " rel="deselect_node(obj [, supress_event])" style="display: block;"><h4><code
                class="func"><strong>deselect_node</strong> (obj [, supress_event])</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>deselect a node</p></div>
                <ul class="params list-unstyled">
                    <li><code class="param">obj</code>
                        <p><code class="type">mixed</code></p>
                        <p>an array can be used to deselect multiple nodes</p>
                        <p></p></li>
                    <li><code class="param">supress_event</code>
                        <p><code class="type">Boolean</code></p>
                        <p>if set to <code>true</code> the <code>changed.jstree</code> event won't be triggered
                        </p>
                        <p></p></li>
                </ul>
                <ul class="params list-unstyled">
                    <li><code class="param trigger">Triggers</code>
                        <p><code class="evnt">deselect_node.jstree</code> <code class="evnt">
                            changed.jstree</code></p></li>
                </ul>
            </div>
        </div>
        <div class="item " rel="deselect_node.jstree" style="display: block;"><h4><code class="evnt">deselect_node.jstree
            Event <i class="glyphicon glyphicon-flash"></i></code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>triggered when an node is deselected</p></div>
                <ul class="params list-unstyled">
                    <li><code class="param">node</code>
                        <p><code class="type">Object</code></p></li>
                    <li><code class="param">selected</code>
                        <p><code class="type">Array</code></p>
                        <p>the current selection</p>
                        <p></p></li>
                    <li><code class="param">event</code>
                        <p><code class="type">Object</code></p>
                        <p>the event (if any) that triggered this deselect_node</p>
                        <p></p></li>
                </ul>
            </div>
        </div>
        <div class="item " rel="select_all([supress_event])" style="display: block;"><h4><code
                class="func"><strong>select_all</strong> ([supress_event])</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>select all nodes in the tree</p></div>
                <ul class="params list-unstyled">
                    <li><code class="param">supress_event</code>
                        <p><code class="type">Boolean</code></p>
                        <p>if set to <code>true</code> the <code>changed.jstree</code> event won't be triggered
                        </p>
                        <p></p></li>
                </ul>
                <ul class="params list-unstyled">
                    <li><code class="param trigger">Triggers</code>
                        <p><code class="evnt">select_all.jstree</code> <code class="evnt"> changed.jstree</code>
                        </p></li>
                </ul>
            </div>
        </div>
        <div class="item " rel="select_all.jstree" style="display: block;"><h4><code class="evnt">select_all.jstree
            Event <i class="glyphicon glyphicon-flash"></i></code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>triggered when all nodes are selected</p></div>
                <ul class="params list-unstyled">
                    <li><code class="param">selected</code>
                        <p><code class="type">Array</code></p>
                        <p>the current selection</p>
                        <p></p></li>
                </ul>
            </div>
        </div>
        <div class="item " rel="deselect_all([supress_event])" style="display: block;"><h4><code
                class="func"><strong>deselect_all</strong> ([supress_event])</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>deselect all selected nodes</p></div>
                <ul class="params list-unstyled">
                    <li><code class="param">supress_event</code>
                        <p><code class="type">Boolean</code></p>
                        <p>if set to <code>true</code> the <code>changed.jstree</code> event won't be triggered
                        </p>
                        <p></p></li>
                </ul>
                <ul class="params list-unstyled">
                    <li><code class="param trigger">Triggers</code>
                        <p><code class="evnt">deselect_all.jstree</code> <code class="evnt">
                            changed.jstree</code></p></li>
                </ul>
            </div>
        </div>
        <div class="item " rel="deselect_all.jstree" style="display: block;"><h4><code class="evnt">deselect_all.jstree
            Event <i class="glyphicon glyphicon-flash"></i></code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>triggered when all nodes are deselected</p></div>
                <ul class="params list-unstyled">
                    <li><code class="param">node</code>
                        <p><code class="type">Object</code></p>
                        <p>the previous selection</p>
                        <p></p></li>
                    <li><code class="param">selected</code>
                        <p><code class="type">Array</code></p>
                        <p>the current selection</p>
                        <p></p></li>
                </ul>
            </div>
        </div>
        <div class="item " rel="is_selected(obj)" style="display: block;"><h4><code
                class="func"><strong>is_selected</strong>
            (obj)</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>checks if a node is selected</p></div>
                <ul class="params list-unstyled">
                    <li><code class="param">obj</code>
                        <p><code class="type">mixed</code></p></li>
                </ul>
                <ul class="params list-unstyled">
                    <li><code class="param return">Returns</code>
                        <p><code class="type">Boolean</code></p></li>
                </ul>
            </div>
        </div>
        <div class="item " rel="get_selected([full])" style="display: block;"><h4><code class="func"><strong>get_selected</strong>
            ([full])</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>get an array of all selected nodes</p></div>
                <ul class="params list-unstyled">
                    <li><code class="param">full</code>
                        <p><code class="type">mixed</code></p>
                        <p>if set to <code>true</code> the returned array will consist of the full node objects,
                            otherwise - only IDs will be returned</p>
                        <p></p></li>
                </ul>
                <ul class="params list-unstyled">
                    <li><code class="param return">Returns</code>
                        <p><code class="type">Array</code></p></li>
                </ul>
            </div>
        </div>
        <div class="item " rel="get_top_selected([full])" style="display: block;"><h4><code
                class="func"><strong>get_top_selected</strong> ([full])</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>get an array of all top level selected nodes (ignoring children of selected nodes)</p>
                </div>
                <ul class="params list-unstyled">
                    <li><code class="param">full</code>
                        <p><code class="type">mixed</code></p>
                        <p>if set to <code>true</code> the returned array will consist of the full node objects,
                            otherwise - only IDs will be returned</p>
                        <p></p></li>
                </ul>
                <ul class="params list-unstyled">
                    <li><code class="param return">Returns</code>
                        <p><code class="type">Array</code></p></li>
                </ul>
            </div>
        </div>
        <div class="item " rel="get_bottom_selected([full])" style="display: block;"><h4><code
                class="func"><strong>get_bottom_selected</strong> ([full])</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>get an array of all bottom level selected nodes (ignoring selected parents)</p></div>
                <ul class="params list-unstyled">
                    <li><code class="param">full</code>
                        <p><code class="type">mixed</code></p>
                        <p>if set to <code>true</code> the returned array will consist of the full node objects,
                            otherwise - only IDs will be returned</p>
                        <p></p></li>
                </ul>
                <ul class="params list-unstyled">
                    <li><code class="param return">Returns</code>
                        <p><code class="type">Array</code></p></li>
                </ul>
            </div>
        </div>
        <div class="item private" rel="get_state()" style="display: block;"><h4><code
                class="func"><strong>get_state</strong>
            ()</code><code class="meta">private</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>gets the current state of the tree so that it can be restored later with
                    <code>set_state(state)</code>.
                    Used internally.</p></div>
                <ul class="params list-unstyled">
                    <li><code class="param return">Returns</code>
                        <p><code class="type">Object</code></p></li>
                </ul>
            </div>
        </div>
        <div class="item private" rel="set_state(state [, callback])" style="display: block;"><h4><code
                class="func"><strong>set_state</strong> (state [, callback])</code><code
                class="meta">private</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>sets the state of the tree. Used internally.</p></div>
                <ul class="params list-unstyled">
                    <li><code class="param">state</code>
                        <p><code class="type">Object</code></p>
                        <p>the state to restore. Keep in mind this object is passed by reference and jstree will
                            modify it.</p>
                        <p></p></li>
                    <li><code class="param">callback</code>
                        <p><code class="type">Function</code></p>
                        <p>an optional function to execute once the state is restored.</p>
                        <p></p></li>
                </ul>
                <ul class="params list-unstyled">
                    <li><code class="param trigger">Triggers</code>
                        <p><code class="evnt">set_state.jstree</code></p></li>
                </ul>
            </div>
        </div>
        <div class="item " rel="set_state.jstree" style="display: block;"><h4><code class="evnt">set_state.jstree
            Event <i class="glyphicon glyphicon-flash"></i></code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>triggered when a <code>set_state</code> call completes</p></div>
            </div>
        </div>
        <div class="item " rel="refresh()" style="display: block;"><h4><code
                class="func"><strong>refresh</strong> ()</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>refreshes the tree - all nodes are reloaded with calls to <code>load_node</code>.</p>
                </div>
                <ul class="params list-unstyled">
                    <li><code class="param">skip_loading</code>
                        <p><code class="type">Boolean</code></p>
                        <p>an option to skip showing the loading indicator</p>
                        <p></p></li>
                    <li><code class="param">forget_state</code>
                        <p><code class="type">Mixed</code></p>
                        <p>if set to <code>true</code> state will not be reapplied, if set to a function
                            (receiving the current state as argument) the result of that function will be used
                            as state</p>
                        <p></p></li>
                </ul>
                <ul class="params list-unstyled">
                    <li><code class="param trigger">Triggers</code>
                        <p><code class="evnt">refresh.jstree</code></p></li>
                </ul>
            </div>
        </div>
        <div class="item " rel="refresh.jstree" style="display: block;"><h4><code class="evnt">refresh.jstree
            Event <i class="glyphicon glyphicon-flash"></i></code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>triggered when a <code>refresh</code> call completes</p></div>
            </div>
        </div>
        <div class="item " rel="refresh_node(obj)" style="display: block;"><h4><code
                class="func"><strong>refresh_node</strong>
            (obj)</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>refreshes a node in the tree (reload its children) all opened nodes inside that node are
                    reloaded with calls to <code>load_node</code>.</p></div>
                <ul class="params list-unstyled">
                    <li><code class="param">obj</code>
                        <p><code class="type">mixed</code></p>
                        <p>the node</p>
                        <p></p></li>
                </ul>
                <ul class="params list-unstyled">
                    <li><code class="param trigger">Triggers</code>
                        <p><code class="evnt">refresh_node.jstree</code></p></li>
                </ul>
            </div>
        </div>
        <div class="item " rel="refresh_node.jstree" style="display: block;"><h4><code class="evnt">refresh_node.jstree
            Event <i class="glyphicon glyphicon-flash"></i></code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>triggered when a node is refreshed</p></div>
                <ul class="params list-unstyled">
                    <li><code class="param">node</code>
                        <p><code class="type">Object</code></p>
                        <ul>
                            <li>the refreshed node</li>
                        </ul>
                        <p></p></li>
                    <li><code class="param">nodes</code>
                        <p><code class="type">Array</code></p>
                        <ul>
                            <li>an array of the IDs of the nodes that were reloaded</li>
                        </ul>
                        <p></p></li>
                </ul>
            </div>
        </div>
        <div class="item " rel="set_id(obj, id)" style="display: block;"><h4><code
                class="func"><strong>set_id</strong> (obj, id)</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>set (change) the ID of a node</p></div>
                <ul class="params list-unstyled">
                    <li><code class="param">obj</code>
                        <p><code class="type">mixed</code></p>
                        <p>the node</p>
                        <p></p></li>
                    <li><code class="param">id</code>
                        <p><code class="type">String</code></p>
                        <p>the new ID</p>
                        <p></p></li>
                </ul>
                <ul class="params list-unstyled">
                    <li><code class="param return">Returns</code>
                        <p><code class="type">Boolean</code></p></li>
                </ul>
                <ul class="params list-unstyled">
                    <li><code class="param trigger">Triggers</code>
                        <p><code class="evnt">set_id.jstree</code></p></li>
                </ul>
            </div>
        </div>
        <div class="item " rel="set_id.jstree" style="display: block;"><h4><code class="evnt">set_id.jstree
            Event <i class="glyphicon glyphicon-flash"></i></code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>triggered when a node id value is changed</p></div>
                <ul class="params list-unstyled">
                    <li><code class="param">node</code>
                        <p><code class="type">Object</code></p></li>
                    <li><code class="param">old</code>
                        <p><code class="type">String</code></p>
                        <p>the old id</p>
                        <p></p></li>
                </ul>
            </div>
        </div>
        <div class="item " rel="get_text(obj)" style="display: block;"><h4><code
                class="func"><strong>get_text</strong> (obj)</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>get the text value of a node</p></div>
                <ul class="params list-unstyled">
                    <li><code class="param">obj</code>
                        <p><code class="type">mixed</code></p>
                        <p>the node</p>
                        <p></p></li>
                </ul>
                <ul class="params list-unstyled">
                    <li><code class="param return">Returns</code>
                        <p><code class="type">String</code></p></li>
                </ul>
            </div>
        </div>
        <div class="item private" rel="set_text(obj, val)" style="display: block;"><h4><code
                class="func"><strong>set_text</strong> (obj, val)</code><code class="meta">private</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>set the text value of a node. Used internally, please use <code>rename_node(obj,
                    val)</code>.</p></div>
                <ul class="params list-unstyled">
                    <li><code class="param">obj</code>
                        <p><code class="type">mixed</code></p>
                        <p>the node, you can pass an array to set the text on multiple nodes</p>
                        <p></p></li>
                    <li><code class="param">val</code>
                        <p><code class="type">String</code></p>
                        <p>the new text value</p>
                        <p></p></li>
                </ul>
                <ul class="params list-unstyled">
                    <li><code class="param return">Returns</code>
                        <p><code class="type">Boolean</code></p></li>
                </ul>
                <ul class="params list-unstyled">
                    <li><code class="param trigger">Triggers</code>
                        <p><code class="evnt">set_text.jstree</code></p></li>
                </ul>
            </div>
        </div>
        <div class="item " rel="set_text.jstree" style="display: block;"><h4><code class="evnt">set_text.jstree
            Event <i class="glyphicon glyphicon-flash"></i></code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>triggered when a node text value is changed</p></div>
                <ul class="params list-unstyled">
                    <li><code class="param">obj</code>
                        <p><code class="type">Object</code></p></li>
                    <li><code class="param">text</code>
                        <p><code class="type">String</code></p>
                        <p>the new value</p>
                        <p></p></li>
                </ul>
            </div>
        </div>
        <div class="item " rel="get_json([obj, options])" style="display: block;"><h4><code
                class="func"><strong>get_json</strong> ([obj, options])</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>gets a JSON representation of a node (or the whole tree)</p></div>
                <ul class="params list-unstyled">
                    <li><code class="param">obj</code>
                        <p><code class="type">mixed</code></p></li>
                    <li><code class="param">options</code>
                        <p><code class="type">Object</code></p></li>
                    <li><code class="param">options.no_state</code>
                        <p><code class="type">Boolean</code></p>
                        <p>do not return state information</p>
                        <p></p></li>
                    <li><code class="param">options.no_id</code>
                        <p><code class="type">Boolean</code></p>
                        <p>do not return ID</p>
                        <p></p></li>
                    <li><code class="param">options.no_children</code>
                        <p><code class="type">Boolean</code></p>
                        <p>do not include children</p>
                        <p></p></li>
                    <li><code class="param">options.no_data</code>
                        <p><code class="type">Boolean</code></p>
                        <p>do not include node data</p>
                        <p></p></li>
                    <li><code class="param">options.no_li_attr</code>
                        <p><code class="type">Boolean</code></p>
                        <p>do not include LI attributes</p>
                        <p></p></li>
                    <li><code class="param">options.no_a_attr</code>
                        <p><code class="type">Boolean</code></p>
                        <p>do not include A attributes</p>
                        <p></p></li>
                    <li><code class="param">options.flat</code>
                        <p><code class="type">Boolean</code></p>
                        <p>return flat JSON instead of nested</p>
                        <p></p></li>
                </ul>
                <ul class="params list-unstyled">
                    <li><code class="param return">Returns</code>
                        <p><code class="type">Object</code></p></li>
                </ul>
            </div>
        </div>
        <div class="item " rel="create_node([par, node, pos, callback, is_loaded])" style="display: block;"><h4>
            <code class="func"><strong>create_node</strong> ([par, node, pos, callback, is_loaded])</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>create a new node (do not confuse with load_node)</p></div>
                <ul class="params list-unstyled">
                    <li><code class="param">par</code>
                        <p><code class="type">mixed</code></p>
                        <p>the parent node (to create a root node use either "#" (string) or <code>null</code>)
                        </p>
                        <p></p></li>
                    <li><code class="param">node</code>
                        <p><code class="type">mixed</code></p>
                        <p>the data for the new node (a valid JSON object, or a simple string with the name)</p>
                        <p></p></li>
                    <li><code class="param">pos</code>
                        <p><code class="type">mixed</code></p>
                        <p>the index at which to insert the node, "first" and "last" are also supported, default
                            is "last"</p>
                        <p></p></li>
                    <li><code class="param">callback</code>
                        <p><code class="type">Function</code></p>
                        <p>a function to be called once the node is created</p>
                        <p></p></li>
                    <li><code class="param">is_loaded</code>
                        <p><code class="type">Boolean</code></p>
                        <p>internal argument indicating if the parent node was succesfully loaded</p>
                        <p></p></li>
                </ul>
                <ul class="params list-unstyled">
                    <li><code class="param return">Returns</code>
                        <p><code class="type">String</code></p>
                        <p>the ID of the newly create node</p>
                        <p></p></li>
                </ul>
                <ul class="params list-unstyled">
                    <li><code class="param trigger">Triggers</code>
                        <p><code class="evnt">model.jstree</code> <code class="evnt"> create_node.jstree</code>
                        </p></li>
                </ul>
            </div>
        </div>
        <div class="item " rel="create_node.jstree" style="display: block;"><h4><code class="evnt">create_node.jstree
            Event <i class="glyphicon glyphicon-flash"></i></code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>triggered when a node is created</p></div>
                <ul class="params list-unstyled">
                    <li><code class="param">node</code>
                        <p><code class="type">Object</code></p></li>
                    <li><code class="param">parent</code>
                        <p><code class="type">String</code></p>
                        <p>the parent's ID</p>
                        <p></p></li>
                    <li><code class="param">position</code>
                        <p><code class="type">Number</code></p>
                        <p>the position of the new node among the parent's children</p>
                        <p></p></li>
                </ul>
            </div>
        </div>
        <div class="item " rel="rename_node(obj, val)" style="display: block;"><h4><code class="func"><strong>rename_node</strong>
            (obj, val)</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>set the text value of a node</p></div>
                <ul class="params list-unstyled">
                    <li><code class="param">obj</code>
                        <p><code class="type">mixed</code></p>
                        <p>the node, you can pass an array to rename multiple nodes to the same name</p>
                        <p></p></li>
                    <li><code class="param">val</code>
                        <p><code class="type">String</code></p>
                        <p>the new text value</p>
                        <p></p></li>
                </ul>
                <ul class="params list-unstyled">
                    <li><code class="param return">Returns</code>
                        <p><code class="type">Boolean</code></p></li>
                </ul>
                <ul class="params list-unstyled">
                    <li><code class="param trigger">Triggers</code>
                        <p><code class="evnt">rename_node.jstree</code></p></li>
                </ul>
            </div>
        </div>
        <div class="item " rel="rename_node.jstree" style="display: block;"><h4><code class="evnt">rename_node.jstree
            Event <i class="glyphicon glyphicon-flash"></i></code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>triggered when a node is renamed</p></div>
                <ul class="params list-unstyled">
                    <li><code class="param">node</code>
                        <p><code class="type">Object</code></p></li>
                    <li><code class="param">text</code>
                        <p><code class="type">String</code></p>
                        <p>the new value</p>
                        <p></p></li>
                    <li><code class="param">old</code>
                        <p><code class="type">String</code></p>
                        <p>the old value</p>
                        <p></p></li>
                </ul>
            </div>
        </div>
        <div class="item " rel="delete_node(obj)" style="display: block;"><h4><code
                class="func"><strong>delete_node</strong>
            (obj)</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>remove a node</p></div>
                <ul class="params list-unstyled">
                    <li><code class="param">obj</code>
                        <p><code class="type">mixed</code></p>
                        <p>the node, you can pass an array to delete multiple nodes</p>
                        <p></p></li>
                </ul>
                <ul class="params list-unstyled">
                    <li><code class="param return">Returns</code>
                        <p><code class="type">Boolean</code></p></li>
                </ul>
                <ul class="params list-unstyled">
                    <li><code class="param trigger">Triggers</code>
                        <p><code class="evnt">delete_node.jstree</code> <code class="evnt">
                            changed.jstree</code></p></li>
                </ul>
            </div>
        </div>
        <div class="item " rel="delete_node.jstree" style="display: block;"><h4><code class="evnt">delete_node.jstree
            Event <i class="glyphicon glyphicon-flash"></i></code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>triggered when a node is deleted</p></div>
                <ul class="params list-unstyled">
                    <li><code class="param">node</code>
                        <p><code class="type">Object</code></p></li>
                    <li><code class="param">parent</code>
                        <p><code class="type">String</code></p>
                        <p>the parent's ID</p>
                        <p></p></li>
                </ul>
            </div>
        </div>
        <div class="item private" rel="check(chk, obj, par, pos)" style="display: block;"><h4><code
                class="func"><strong>check</strong> (chk, obj, par, pos)</code><code class="meta">private</code>
        </h4>
            <div class="item-inner wont-show" style=";">
                <div><p>check if an operation is premitted on the tree. Used internally.</p></div>
                <ul class="params list-unstyled">
                    <li><code class="param">chk</code>
                        <p><code class="type">String</code></p>
                        <p>the operation to check, can be "create_node", "rename_node", "delete_node",
                            "copy_node" or "move_node"</p>
                        <p></p></li>
                    <li><code class="param">obj</code>
                        <p><code class="type">mixed</code></p>
                        <p>the node</p>
                        <p></p></li>
                    <li><code class="param">par</code>
                        <p><code class="type">mixed</code></p>
                        <p>the parent</p>
                        <p></p></li>
                    <li><code class="param">pos</code>
                        <p><code class="type">mixed</code></p>
                        <p>the position to insert at, or if "rename_node" - the new name</p>
                        <p></p></li>
                    <li><code class="param">more</code>
                        <p><code class="type">mixed</code></p>
                        <p>some various additional information, for example if a "move_node" operations is
                            triggered by DND this will be the hovered node</p>
                        <p></p></li>
                </ul>
                <ul class="params list-unstyled">
                    <li><code class="param return">Returns</code>
                        <p><code class="type">Boolean</code></p></li>
                </ul>
            </div>
        </div>
        <div class="item " rel="last_error()" style="display: block;"><h4><code
                class="func"><strong>last_error</strong> ()</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>get the last error</p></div>
                <ul class="params list-unstyled">
                    <li><code class="param return">Returns</code>
                        <p><code class="type">Object</code></p></li>
                </ul>
            </div>
        </div>
        <div class="item " rel="move_node(obj, par [, pos, callback, is_loaded])" style="display: block;"><h4>
            <code class="func"><strong>move_node</strong> (obj, par [, pos, callback, is_loaded])</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>move a node to a new parent</p></div>
                <ul class="params list-unstyled">
                    <li><code class="param">obj</code>
                        <p><code class="type">mixed</code></p>
                        <p>the node to move, pass an array to move multiple nodes</p>
                        <p></p></li>
                    <li><code class="param">par</code>
                        <p><code class="type">mixed</code></p>
                        <p>the new parent</p>
                        <p></p></li>
                    <li><code class="param">pos</code>
                        <p><code class="type">mixed</code></p>
                        <p>the position to insert at (besides integer values, "first" and "last" are supported,
                            as well as "before" and "after"), defaults to integer <code>0</code></p>
                        <p></p></li>
                    <li><code class="param">callback</code>
                        <p><code class="type">function</code></p>
                        <p>a function to call once the move is completed, receives 3 arguments - the node, the
                            new parent and the position</p>
                        <p></p></li>
                    <li><code class="param">is_loaded</code>
                        <p><code class="type">Boolean</code></p>
                        <p>internal parameter indicating if the parent node has been loaded</p>
                        <p></p></li>
                    <li><code class="param">skip_redraw</code>
                        <p><code class="type">Boolean</code></p>
                        <p>internal parameter indicating if the tree should be redrawn</p>
                        <p></p></li>
                    <li><code class="param">instance</code>
                        <p><code class="type">Boolean</code></p>
                        <p>internal parameter indicating if the node comes from another instance</p>
                        <p></p></li>
                </ul>
                <ul class="params list-unstyled">
                    <li><code class="param trigger">Triggers</code>
                        <p><code class="evnt">move_node.jstree</code></p></li>
                </ul>
            </div>
        </div>
        <div class="item " rel="move_node.jstree" style="display: block;"><h4><code class="evnt">move_node.jstree
            Event <i class="glyphicon glyphicon-flash"></i></code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>triggered when a node is moved</p></div>
                <ul class="params list-unstyled">
                    <li><code class="param">node</code>
                        <p><code class="type">Object</code></p></li>
                    <li><code class="param">parent</code>
                        <p><code class="type">String</code></p>
                        <p>the parent's ID</p>
                        <p></p></li>
                    <li><code class="param">position</code>
                        <p><code class="type">Number</code></p>
                        <p>the position of the node among the parent's children</p>
                        <p></p></li>
                    <li><code class="param">old_parent</code>
                        <p><code class="type">String</code></p>
                        <p>the old parent of the node</p>
                        <p></p></li>
                    <li><code class="param">old_position</code>
                        <p><code class="type">Number</code></p>
                        <p>the old position of the node</p>
                        <p></p></li>
                    <li><code class="param">is_multi</code>
                        <p><code class="type">Boolean</code></p>
                        <p>do the node and new parent belong to different instances</p>
                        <p></p></li>
                    <li><code class="param">old_instance</code>
                        <p><code class="type">jsTree</code></p>
                        <p>the instance the node came from</p>
                        <p></p></li>
                    <li><code class="param">new_instance</code>
                        <p><code class="type">jsTree</code></p>
                        <p>the instance of the new parent</p>
                        <p></p></li>
                </ul>
            </div>
        </div>
        <div class="item " rel="copy_node(obj, par [, pos, callback, is_loaded])" style="display: block;"><h4>
            <code class="func"><strong>copy_node</strong> (obj, par [, pos, callback, is_loaded])</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>copy a node to a new parent</p></div>
                <ul class="params list-unstyled">
                    <li><code class="param">obj</code>
                        <p><code class="type">mixed</code></p>
                        <p>the node to copy, pass an array to copy multiple nodes</p>
                        <p></p></li>
                    <li><code class="param">par</code>
                        <p><code class="type">mixed</code></p>
                        <p>the new parent</p>
                        <p></p></li>
                    <li><code class="param">pos</code>
                        <p><code class="type">mixed</code></p>
                        <p>the position to insert at (besides integer values, "first" and "last" are supported,
                            as well as "before" and "after"), defaults to integer <code>0</code></p>
                        <p></p></li>
                    <li><code class="param">callback</code>
                        <p><code class="type">function</code></p>
                        <p>a function to call once the move is completed, receives 3 arguments - the node, the
                            new parent and the position</p>
                        <p></p></li>
                    <li><code class="param">is_loaded</code>
                        <p><code class="type">Boolean</code></p>
                        <p>internal parameter indicating if the parent node has been loaded</p>
                        <p></p></li>
                    <li><code class="param">skip_redraw</code>
                        <p><code class="type">Boolean</code></p>
                        <p>internal parameter indicating if the tree should be redrawn</p>
                        <p></p></li>
                    <li><code class="param">instance</code>
                        <p><code class="type">Boolean</code></p>
                        <p>internal parameter indicating if the node comes from another instance</p>
                        <p></p></li>
                </ul>
                <ul class="params list-unstyled">
                    <li><code class="param trigger">Triggers</code>
                        <p><code class="evnt">model.jstree copy_node.jstree</code></p></li>
                </ul>
            </div>
        </div>
        <div class="item " rel="copy_node.jstree" style="display: block;"><h4><code class="evnt">copy_node.jstree
            Event <i class="glyphicon glyphicon-flash"></i></code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>triggered when a node is copied</p></div>
                <ul class="params list-unstyled">
                    <li><code class="param">node</code>
                        <p><code class="type">Object</code></p>
                        <p>the copied node</p>
                        <p></p></li>
                    <li><code class="param">original</code>
                        <p><code class="type">Object</code></p>
                        <p>the original node</p>
                        <p></p></li>
                    <li><code class="param">parent</code>
                        <p><code class="type">String</code></p>
                        <p>the parent's ID</p>
                        <p></p></li>
                    <li><code class="param">position</code>
                        <p><code class="type">Number</code></p>
                        <p>the position of the node among the parent's children</p>
                        <p></p></li>
                    <li><code class="param">old_parent</code>
                        <p><code class="type">String</code></p>
                        <p>the old parent of the node</p>
                        <p></p></li>
                    <li><code class="param">old_position</code>
                        <p><code class="type">Number</code></p>
                        <p>the position of the original node</p>
                        <p></p></li>
                    <li><code class="param">is_multi</code>
                        <p><code class="type">Boolean</code></p>
                        <p>do the node and new parent belong to different instances</p>
                        <p></p></li>
                    <li><code class="param">old_instance</code>
                        <p><code class="type">jsTree</code></p>
                        <p>the instance the node came from</p>
                        <p></p></li>
                    <li><code class="param">new_instance</code>
                        <p><code class="type">jsTree</code></p>
                        <p>the instance of the new parent</p>
                        <p></p></li>
                </ul>
            </div>
        </div>
        <div class="item " rel="cut(obj)" style="display: block;"><h4><code class="func"><strong>cut</strong>
            (obj)</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>cut a node (a later call to <code>paste(obj)</code> would move the node)</p></div>
                <ul class="params list-unstyled">
                    <li><code class="param">obj</code>
                        <p><code class="type">mixed</code></p>
                        <p>multiple objects can be passed using an array</p>
                        <p></p></li>
                </ul>
                <ul class="params list-unstyled">
                    <li><code class="param trigger">Triggers</code>
                        <p><code class="evnt">cut.jstree</code></p></li>
                </ul>
            </div>
        </div>
        <div class="item " rel="cut.jstree" style="display: block;"><h4><code class="evnt">cut.jstree Event <i
                class="glyphicon glyphicon-flash"></i></code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>triggered when nodes are added to the buffer for moving</p></div>
                <ul class="params list-unstyled">
                    <li><code class="param">node</code>
                        <p><code class="type">Array</code></p></li>
                </ul>
            </div>
        </div>
        <div class="item " rel="copy(obj)" style="display: block;"><h4><code class="func"><strong>copy</strong>
            (obj)</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>copy a node (a later call to <code>paste(obj)</code> would copy the node)</p></div>
                <ul class="params list-unstyled">
                    <li><code class="param">obj</code>
                        <p><code class="type">mixed</code></p>
                        <p>multiple objects can be passed using an array</p>
                        <p></p></li>
                </ul>
                <ul class="params list-unstyled">
                    <li><code class="param trigger">Triggers</code>
                        <p><code class="evnt">copy.jstree</code></p></li>
                </ul>
            </div>
        </div>
        <div class="item " rel="copy.jstree" style="display: block;"><h4><code class="evnt">copy.jstree Event <i
                class="glyphicon glyphicon-flash"></i></code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>triggered when nodes are added to the buffer for copying</p></div>
                <ul class="params list-unstyled">
                    <li><code class="param">node</code>
                        <p><code class="type">Array</code></p></li>
                </ul>
            </div>
        </div>
        <div class="item " rel="get_buffer()" style="display: block;"><h4><code
                class="func"><strong>get_buffer</strong> ()</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>get the current buffer (any nodes that are waiting for a paste operation)</p></div>
                <ul class="params list-unstyled">
                    <li><code class="param return">Returns</code>
                        <p><code class="type">Object</code></p>
                        <p>an object consisting of <code>mode</code> ("copy_node" or "move_node"),
                            <code>node</code> (an array of objects) and <code>inst</code> (the instance)</p>
                        <p></p></li>
                </ul>
            </div>
        </div>
        <div class="item " rel="can_paste()" style="display: block;"><h4><code
                class="func"><strong>can_paste</strong> ()</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>check if there is something in the buffer to paste</p></div>
                <ul class="params list-unstyled">
                    <li><code class="param return">Returns</code>
                        <p><code class="type">Boolean</code></p></li>
                </ul>
            </div>
        </div>
        <div class="item " rel="paste(obj [, pos])" style="display: block;"><h4><code
                class="func"><strong>paste</strong> (obj [, pos])</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>copy or move the previously cut or copied nodes to a new parent</p></div>
                <ul class="params list-unstyled">
                    <li><code class="param">obj</code>
                        <p><code class="type">mixed</code></p>
                        <p>the new parent</p>
                        <p></p></li>
                    <li><code class="param">pos</code>
                        <p><code class="type">mixed</code></p>
                        <p>the position to insert at (besides integer, "first" and "last" are supported),
                            defaults to integer <code>0</code></p>
                        <p></p></li>
                </ul>
                <ul class="params list-unstyled">
                    <li><code class="param trigger">Triggers</code>
                        <p><code class="evnt">paste.jstree</code></p></li>
                </ul>
            </div>
        </div>
        <div class="item " rel="paste.jstree" style="display: block;"><h4><code class="evnt">paste.jstree Event
            <i class="glyphicon glyphicon-flash"></i></code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>triggered when paste is invoked</p></div>
                <ul class="params list-unstyled">
                    <li><code class="param">parent</code>
                        <p><code class="type">String</code></p>
                        <p>the ID of the receiving node</p>
                        <p></p></li>
                    <li><code class="param">node</code>
                        <p><code class="type">Array</code></p>
                        <p>the nodes in the buffer</p>
                        <p></p></li>
                    <li><code class="param">mode</code>
                        <p><code class="type">String</code></p>
                        <p>the performed operation - "copy_node" or "move_node"</p>
                        <p></p></li>
                </ul>
            </div>
        </div>
        <div class="item " rel="clear_buffer()" style="display: block;"><h4><code
                class="func"><strong>clear_buffer</strong>
            ()</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>clear the buffer of previously copied or cut nodes</p></div>
                <ul class="params list-unstyled">
                    <li><code class="param trigger">Triggers</code>
                        <p><code class="evnt">clear_buffer.jstree</code></p></li>
                </ul>
            </div>
        </div>
        <div class="item " rel="clear_buffer.jstree" style="display: block;"><h4><code class="evnt">clear_buffer.jstree
            Event <i class="glyphicon glyphicon-flash"></i></code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>triggered when the copy / cut buffer is cleared</p></div>
            </div>
        </div>
        <div class="item " rel="edit(obj [, default_text, callback])" style="display: block;"><h4><code
                class="func"><strong>edit</strong> (obj [, default_text, callback])</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>put a node in edit mode (input field to rename the node)</p></div>
                <ul class="params list-unstyled">
                    <li><code class="param">obj</code>
                        <p><code class="type">mixed</code></p></li>
                    <li><code class="param">default_text</code>
                        <p><code class="type">String</code></p>
                        <p>the text to populate the input with (if omitted or set to a non-string value the
                            node's text value is used)</p>
                        <p></p></li>
                    <li><code class="param">callback</code>
                        <p><code class="type">Function</code></p>
                        <p>a function to be called once the text box is blurred, it is called in the instance's
                            scope and receives the node, a status parameter (true if the rename is successful,
                            false otherwise) and a boolean indicating if the user cancelled the edit. You can
                            access the node's title using .text</p>
                        <p></p></li>
                </ul>
            </div>
        </div>
        <div class="item " rel="set_theme(theme_name [, theme_url])" style="display: block;"><h4><code
                class="func"><strong>set_theme</strong> (theme_name [, theme_url])</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>changes the theme</p></div>
                <ul class="params list-unstyled">
                    <li><code class="param">theme_name</code>
                        <p><code class="type">String</code></p>
                        <p>the name of the new theme to apply</p>
                        <p></p></li>
                    <li><code class="param">theme_url</code>
                        <p><code class="type">mixed</code></p>
                        <p>the location of the CSS file for this theme. Omit or set to <code>false</code> if you
                            manually included the file. Set to <code>true</code> to autoload from the <code>core.themes.dir</code>
                            directory.</p>
                        <p></p></li>
                </ul>
                <ul class="params list-unstyled">
                    <li><code class="param trigger">Triggers</code>
                        <p><code class="evnt">set_theme.jstree</code></p></li>
                </ul>
            </div>
        </div>
        <div class="item " rel="set_theme.jstree" style="display: block;"><h4><code class="evnt">set_theme.jstree
            Event <i class="glyphicon glyphicon-flash"></i></code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>triggered when a theme is set</p></div>
                <ul class="params list-unstyled">
                    <li><code class="param">theme</code>
                        <p><code class="type">String</code></p>
                        <p>the new theme</p>
                        <p></p></li>
                </ul>
            </div>
        </div>
        <div class="item " rel="get_theme()" style="display: block;"><h4><code
                class="func"><strong>get_theme</strong> ()</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>gets the name of the currently applied theme name</p></div>
                <ul class="params list-unstyled">
                    <li><code class="param return">Returns</code>
                        <p><code class="type">String</code></p></li>
                </ul>
            </div>
        </div>
        <div class="item " rel="set_theme_variant(variant_name)" style="display: block;"><h4><code class="func"><strong>set_theme_variant</strong>
            (variant_name)</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>changes the theme variant (if the theme has variants)</p></div>
                <ul class="params list-unstyled">
                    <li><code class="param">variant_name</code>
                        <p><code class="type">String</code> <code class="type">Boolean</code></p>
                        <p>the variant to apply (if <code>false</code> is used the current variant is removed)
                        </p>
                        <p></p></li>
                </ul>
            </div>
        </div>
        <div class="item " rel="get_theme()" style="display: block;"><h4><code
                class="func"><strong>get_theme</strong> ()</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>gets the name of the currently applied theme variant</p></div>
                <ul class="params list-unstyled">
                    <li><code class="param return">Returns</code>
                        <p><code class="type">String</code></p></li>
                </ul>
            </div>
        </div>
        <div class="item " rel="show_stripes()" style="display: block;"><h4><code
                class="func"><strong>show_stripes</strong>
            ()</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>shows a striped background on the container (if the theme supports it)</p></div>
            </div>
        </div>
        <div class="item " rel="show_stripes.jstree" style="display: block;"><h4><code class="evnt">show_stripes.jstree
            Event <i class="glyphicon glyphicon-flash"></i></code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>triggered when stripes are shown</p></div>
            </div>
        </div>
        <div class="item " rel="hide_stripes()" style="display: block;"><h4><code
                class="func"><strong>hide_stripes</strong>
            ()</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>hides the striped background on the container</p></div>
            </div>
        </div>
        <div class="item " rel="hide_stripes.jstree" style="display: block;"><h4><code class="evnt">hide_stripes.jstree
            Event <i class="glyphicon glyphicon-flash"></i></code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>triggered when stripes are hidden</p></div>
            </div>
        </div>
        <div class="item " rel="toggle_stripes()" style="display: block;"><h4><code
                class="func"><strong>toggle_stripes</strong>
            ()</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>toggles the striped background on the container</p></div>
            </div>
        </div>
        <div class="item " rel="show_dots()" style="display: block;"><h4><code
                class="func"><strong>show_dots</strong> ()</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>shows the connecting dots (if the theme supports it)</p></div>
            </div>
        </div>
        <div class="item " rel="show_dots.jstree" style="display: block;"><h4><code class="evnt">show_dots.jstree
            Event <i class="glyphicon glyphicon-flash"></i></code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>triggered when dots are shown</p></div>
            </div>
        </div>
        <div class="item " rel="hide_dots()" style="display: block;"><h4><code
                class="func"><strong>hide_dots</strong> ()</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>hides the connecting dots</p></div>
            </div>
        </div>
        <div class="item " rel="hide_dots.jstree" style="display: block;"><h4><code class="evnt">hide_dots.jstree
            Event <i class="glyphicon glyphicon-flash"></i></code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>triggered when dots are hidden</p></div>
            </div>
        </div>
        <div class="item " rel="toggle_dots()" style="display: block;"><h4><code
                class="func"><strong>toggle_dots</strong>
            ()</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>toggles the connecting dots</p></div>
            </div>
        </div>
        <div class="item " rel="show_icons()" style="display: block;"><h4><code
                class="func"><strong>show_icons</strong> ()</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>show the node icons</p></div>
            </div>
        </div>
        <div class="item " rel="show_icons.jstree" style="display: block;"><h4><code class="evnt">show_icons.jstree
            Event <i class="glyphicon glyphicon-flash"></i></code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>triggered when icons are shown</p></div>
            </div>
        </div>
        <div class="item " rel="hide_icons()" style="display: block;"><h4><code
                class="func"><strong>hide_icons</strong> ()</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>hide the node icons</p></div>
            </div>
        </div>
        <div class="item " rel="hide_icons.jstree" style="display: block;"><h4><code class="evnt">hide_icons.jstree
            Event <i class="glyphicon glyphicon-flash"></i></code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>triggered when icons are hidden</p></div>
            </div>
        </div>
        <div class="item " rel="toggle_icons()" style="display: block;"><h4><code
                class="func"><strong>toggle_icons</strong>
            ()</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>toggle the node icons</p></div>
            </div>
        </div>
        <div class="item " rel="show_icons()" style="display: block;"><h4><code
                class="func"><strong>show_icons</strong> ()</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>show the node ellipsis</p></div>
            </div>
        </div>
        <div class="item " rel="show_ellipsis.jstree" style="display: block;"><h4><code class="evnt">show_ellipsis.jstree
            Event <i class="glyphicon glyphicon-flash"></i></code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>triggered when ellisis is shown</p></div>
            </div>
        </div>
        <div class="item " rel="hide_ellipsis()" style="display: block;"><h4><code
                class="func"><strong>hide_ellipsis</strong>
            ()</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>hide the node ellipsis</p></div>
            </div>
        </div>
        <div class="item " rel="hide_ellipsis.jstree" style="display: block;"><h4><code class="evnt">hide_ellipsis.jstree
            Event <i class="glyphicon glyphicon-flash"></i></code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>triggered when ellisis is hidden</p></div>
            </div>
        </div>
        <div class="item " rel="toggle_icons()" style="display: block;"><h4><code
                class="func"><strong>toggle_icons</strong>
            ()</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>toggle the node ellipsis</p></div>
            </div>
        </div>
        <div class="item " rel="set_icon(obj, icon)" style="display: block;"><h4><code
                class="func"><strong>set_icon</strong>
            (obj, icon)</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>set the node icon for a node</p></div>
                <ul class="params list-unstyled">
                    <li><code class="param">obj</code>
                        <p><code class="type">mixed</code></p></li>
                    <li><code class="param">icon</code>
                        <p><code class="type">String</code></p>
                        <p>the new icon - can be a path to an icon or a className, if using an image that is in
                            the current directory use a <code>./</code> prefix, otherwise it will be detected as
                            a class</p>
                        <p></p></li>
                </ul>
            </div>
        </div>
        <div class="item " rel="get_icon(obj)" style="display: block;"><h4><code
                class="func"><strong>get_icon</strong> (obj)</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>get the node icon for a node</p></div>
                <ul class="params list-unstyled">
                    <li><code class="param">obj</code>
                        <p><code class="type">mixed</code></p></li>
                </ul>
                <ul class="params list-unstyled">
                    <li><code class="param return">Returns</code>
                        <p><code class="type">String</code></p></li>
                </ul>
            </div>
        </div>
        <div class="item " rel="hide_icon(obj)" style="display: block;"><h4><code
                class="func"><strong>hide_icon</strong> (obj)</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>hide the icon on an individual node</p></div>
                <ul class="params list-unstyled">
                    <li><code class="param">obj</code>
                        <p><code class="type">mixed</code></p></li>
                </ul>
            </div>
        </div>
        <div class="item " rel="show_icon(obj)" style="margin-bottom: 3em; display: block;"><h4><code
                class="func"><strong>show_icon</strong> (obj)</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>show the icon on an individual node</p></div>
                <ul class="params list-unstyled">
                    <li><code class="param">obj</code>
                        <p><code class="type">mixed</code></p></li>
                </ul>
            </div>
        </div>
        <div class="item " rel=""
             style="background: white; border: 0px; border-radius: 0px; margin-top: 0px; padding-top: 0px; display: block;">
            <div class="">
                <div><h3><i class="glyphicon glyphicon-leaf"></i>&nbsp;Changed plugin</h3>
                    <p>This plugin adds more information to the <code>changed.jstree</code> event. The new data
                        is contained in the <code>changed</code> event data property, and contains a lists of
                        <code>selected</code> and <code>deselected</code> nodes.</p></div>
            </div>
        </div>
        <div class="item " rel="changed.jstree" style="margin-bottom: 3em; display: block;"><h4><code
                class="evnt">changed.jstree Event <i class="glyphicon glyphicon-flash"></i></code><code
                class="meta plugin"><i class="glyphicon glyphicon-leaf"></i> changed plugin</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>triggered when selection changes (the "changed" plugin enhances the original event with
                    more data)</p></div>
                <ul class="params list-unstyled">
                    <li><code class="param">node</code>
                        <p><code class="type">Object</code></p></li>
                    <li><code class="param">action</code>
                        <p><code class="type">Object</code></p>
                        <p>the action that caused the selection to change</p>
                        <p></p></li>
                    <li><code class="param">selected</code>
                        <p><code class="type">Array</code></p>
                        <p>the current selection</p>
                        <p></p></li>
                    <li><code class="param">changed</code>
                        <p><code class="type">Object</code></p>
                        <p>an object containing two properties <code>selected</code> and <code>deselected</code>
                            - both arrays of node IDs, which were selected or deselected since the last changed
                            event</p>
                        <p></p></li>
                    <li><code class="param">event</code>
                        <p><code class="type">Object</code></p>
                        <p>the event (if any) that triggered this changed event</p>
                        <p></p></li>
                </ul>
            </div>
        </div>
        <div class="item " rel=""
             style="background: white; border: 0px; border-radius: 0px; margin-top: 0px; padding-top: 0px; display: block;">
            <div class="">
                <div><h3><i class="glyphicon glyphicon-leaf"></i>&nbsp;Checkbox plugin</h3>
                    <p>This plugin renders checkbox icons in front of each node, making multiple selection much
                        easier.<br>
                        It also supports tri-state behavior, meaning that if a node has a few of its children
                        checked it will be rendered as undetermined, and state will be propagated up.</p></div>
            </div>
        </div>
        <div class="item " rel="$.jstree.defaults.checkbox" style="display: block;"><h4><code class="prop">$.jstree.defaults.checkbox</code><code
                class="meta plugin"><i class="glyphicon glyphicon-leaf"></i> checkbox plugin</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>stores all defaults for the checkbox plugin</p></div>
            </div>
        </div>
        <div class="item " rel="$.jstree.defaults.checkbox.visible" style="display: block;"><h4><code
                class="prop">$.jstree.defaults.checkbox.visible</code><code class="meta plugin"><i
                class="glyphicon glyphicon-leaf"></i> checkbox plugin</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>a boolean indicating if checkboxes should be visible (can be changed at a later time
                    using <code>show_checkboxes()</code> and <code>hide_checkboxes</code>). Defaults to
                    <code>true</code>.
                </p></div>
            </div>
        </div>
        <div class="item " rel="$.jstree.defaults.checkbox.three_state" style="display: block;"><h4><code
                class="prop">$.jstree.defaults.checkbox.three_state</code><code class="meta plugin"><i
                class="glyphicon glyphicon-leaf"></i> checkbox plugin</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>a boolean indicating if checkboxes should cascade down and have an undetermined state.
                    Defaults to <code>true</code>.</p></div>
            </div>
        </div>
        <div class="item " rel="$.jstree.defaults.checkbox.whole_node" style="display: block;"><h4><code
                class="prop">$.jstree.defaults.checkbox.whole_node</code><code class="meta plugin"><i
                class="glyphicon glyphicon-leaf"></i> checkbox plugin</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>a boolean indicating if clicking anywhere on the node should act as clicking on the
                    checkbox. Defaults to <code>true</code>.</p></div>
            </div>
        </div>
        <div class="item " rel="$.jstree.defaults.checkbox.keep_selected_style" style="display: block;"><h4>
            <code class="prop">$.jstree.defaults.checkbox.keep_selected_style</code><code class="meta plugin"><i
                class="glyphicon glyphicon-leaf"></i> checkbox plugin</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>a boolean indicating if the selected style of a node should be kept, or removed.
                    Defaults to <code>true</code>.</p></div>
            </div>
        </div>
        <div class="item " rel="$.jstree.defaults.checkbox.cascade" style="display: block;"><h4><code
                class="prop">$.jstree.defaults.checkbox.cascade</code><code class="meta plugin"><i
                class="glyphicon glyphicon-leaf"></i> checkbox plugin</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>This setting controls how cascading and undetermined nodes are applied.<br>
                    If 'up' is in the string - cascading up is enabled, if 'down' is in the string - cascading
                    down is enabled, if 'undetermined' is in the string - undetermined nodes will be used.<br>
                    If <code>three_state</code> is set to <code>true</code> this setting is automatically set to
                    'up+down+undetermined'. Defaults to ''.</p></div>
            </div>
        </div>
        <div class="item " rel="$.jstree.defaults.checkbox.tie_selection" style="display: block;"><h4><code
                class="prop">$.jstree.defaults.checkbox.tie_selection</code><code class="meta plugin"><i
                class="glyphicon glyphicon-leaf"></i> checkbox plugin</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>This setting controls if checkbox are bound to the general tree selection or to an
                    internal array maintained by the checkbox plugin. Defaults to <code>true</code>, only set to
                    <code>false</code> if you know exactly what you are doing.</p></div>
            </div>
        </div>
        <div class="item " rel="$.jstree.defaults.checkbox.cascade_to_disabled" style="display: block;"><h4>
            <code class="prop">$.jstree.defaults.checkbox.cascade_to_disabled</code><code class="meta plugin"><i
                class="glyphicon glyphicon-leaf"></i> checkbox plugin</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>This setting controls if cascading down affects disabled checkboxes</p></div>
            </div>
        </div>
        <div class="item " rel="$.jstree.defaults.checkbox.cascade_to_hidden" style="display: block;"><h4><code
                class="prop">$.jstree.defaults.checkbox.cascade_to_hidden</code><code class="meta plugin"><i
                class="glyphicon glyphicon-leaf"></i> checkbox plugin</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>This setting controls if cascading down affects hidden checkboxes</p></div>
            </div>
        </div>
        <div class="item " rel="get_undetermined([full])" style="display: block;"><h4><code
                class="func"><strong>get_undetermined</strong> ([full])</code><code class="meta plugin"><i
                class="glyphicon glyphicon-leaf"></i> checkbox plugin</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>get an array of all nodes whose state is "undetermined"</p></div>
                <ul class="params list-unstyled">
                    <li><code class="param">full:</code>
                        <p><code class="type">boolean</code></p>
                        <p>if set to <code>true</code> the returned array will consist of the full node objects,
                            otherwise - only IDs will be returned</p>
                        <p></p></li>
                </ul>
                <ul class="params list-unstyled">
                    <li><code class="param return">Returns</code>
                        <p><code class="type">Array</code></p></li>
                </ul>
            </div>
        </div>
        <div class="item private" rel="_undetermined()" style="display: block;"><h4><code class="func"><strong>_undetermined</strong>
            ()</code><code class="meta plugin"><i class="glyphicon glyphicon-leaf"></i> checkbox plugin</code>
            <code class="meta">private</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>set the undetermined state where and if necessary. Used internally.</p></div>
            </div>
        </div>
        <div class="item " rel="show_checkboxes()" style="display: block;"><h4><code class="func"><strong>show_checkboxes</strong>
            ()</code><code class="meta plugin"><i class="glyphicon glyphicon-leaf"></i> checkbox plugin</code>
        </h4>
            <div class="item-inner wont-show" style=";">
                <div><p>show the node checkbox icons</p></div>
            </div>
        </div>
        <div class="item " rel="hide_checkboxes()" style="display: block;"><h4><code class="func"><strong>hide_checkboxes</strong>
            ()</code><code class="meta plugin"><i class="glyphicon glyphicon-leaf"></i> checkbox plugin</code>
        </h4>
            <div class="item-inner wont-show" style=";">
                <div><p>hide the node checkbox icons</p></div>
            </div>
        </div>
        <div class="item " rel="toggle_checkboxes()" style="display: block;"><h4><code class="func"><strong>toggle_checkboxes</strong>
            ()</code><code class="meta plugin"><i class="glyphicon glyphicon-leaf"></i> checkbox plugin</code>
        </h4>
            <div class="item-inner wont-show" style=";">
                <div><p>toggle the node icons</p></div>
            </div>
        </div>
        <div class="item " rel="is_undetermined(obj)" style="display: block;"><h4><code class="func"><strong>is_undetermined</strong>
            (obj)</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>checks if a node is in an undetermined state</p></div>
                <ul class="params list-unstyled">
                    <li><code class="param">obj</code>
                        <p><code class="type">mixed</code></p></li>
                </ul>
                <ul class="params list-unstyled">
                    <li><code class="param return">Returns</code>
                        <p><code class="type">Boolean</code></p></li>
                </ul>
            </div>
        </div>
        <div class="item " rel="disable_checkbox(obj)" style="display: block;"><h4><code class="func"><strong>disable_checkbox</strong>
            (obj)</code><code class="meta plugin"><i class="glyphicon glyphicon-leaf"></i> checkbox
            plugin</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>disable a node's checkbox</p></div>
                <ul class="params list-unstyled">
                    <li><code class="param">obj</code>
                        <p><code class="type">mixed</code></p>
                        <p>an array can be used too</p>
                        <p></p></li>
                </ul>
                <ul class="params list-unstyled">
                    <li><code class="param trigger">Triggers</code>
                        <p><code class="evnt">disable_checkbox.jstree</code></p></li>
                </ul>
            </div>
        </div>
        <div class="item " rel="disable_checkbox.jstree" style="display: block;"><h4><code class="evnt">disable_checkbox.jstree
            Event <i class="glyphicon glyphicon-flash"></i></code><code class="meta plugin"><i
                class="glyphicon glyphicon-leaf"></i> checkbox plugin</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>triggered when an node's checkbox is disabled</p></div>
                <ul class="params list-unstyled">
                    <li><code class="param">node</code>
                        <p><code class="type">Object</code></p></li>
                </ul>
            </div>
        </div>
        <div class="item " rel="enable_checkbox(obj)" style="display: block;"><h4><code class="func"><strong>enable_checkbox</strong>
            (obj)</code><code class="meta plugin"><i class="glyphicon glyphicon-leaf"></i> checkbox
            plugin</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>enable a node's checkbox</p></div>
                <ul class="params list-unstyled">
                    <li><code class="param">obj</code>
                        <p><code class="type">mixed</code></p>
                        <p>an array can be used too</p>
                        <p></p></li>
                </ul>
                <ul class="params list-unstyled">
                    <li><code class="param trigger">Triggers</code>
                        <p><code class="evnt">enable_checkbox.jstree</code></p></li>
                </ul>
            </div>
        </div>
        <div class="item " rel="enable_checkbox.jstree" style="display: block;"><h4><code class="evnt">enable_checkbox.jstree
            Event <i class="glyphicon glyphicon-flash"></i></code><code class="meta plugin"><i
                class="glyphicon glyphicon-leaf"></i> checkbox plugin</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>triggered when an node's checkbox is enabled</p></div>
                <ul class="params list-unstyled">
                    <li><code class="param">node</code>
                        <p><code class="type">Object</code></p></li>
                </ul>
            </div>
        </div>
        <div class="item private" rel="" style="display: block;">
            <div class="">
                <div><p>Cascades checked state to a node and all its descendants. This function does NOT affect
                    hidden and disabled nodes (or their descendants).<br>
                    However if these unaffected nodes are already selected their ids will be included in the
                    returned array.</p></div>
                <ul class="params list-unstyled">
                    <li><code class="param">id</code>
                        <p><code class="type">string</code></p>
                        <p>the node ID</p>
                        <p></p></li>
                    <li><code class="param">checkedState</code>
                        <p><code class="type">bool</code></p>
                        <p>should the nodes be checked or not</p>
                        <p></p></li>
                </ul>
            </div>
        </div>
        <div class="item " rel="get_checked_descendants(obj)" style="display: block;"><h4><code
                class="func"><strong>get_checked_descendants</strong> (obj)</code><code class="meta plugin"><i
                class="glyphicon glyphicon-leaf"></i> checkbox plugin</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>Gets ids of nodes selected in branch (of tree) specified by id (does not include the
                    node specified by id)</p></div>
                <ul class="params list-unstyled">
                    <li><code class="param">id</code>
                        <p><code class="type">string</code></p>
                        <p>the node ID</p>
                        <p></p></li>
                </ul>
                <ul class="params list-unstyled">
                    <li><code class="param return">Returns</code>
                        <p><code class="type">Array</code></p>
                        <p>array of IDs</p>
                        <p></p></li>
                </ul>
            </div>
        </div>
        <div class="item " rel="check_node(obj)" style="display: block;"><h4><code
                class="func"><strong>check_node</strong>
            (obj)</code><code class="meta plugin"><i class="glyphicon glyphicon-leaf"></i> checkbox
            plugin</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>check a node (only if tie_selection in checkbox settings is false, otherwise select_node
                    will be called internally)</p></div>
                <ul class="params list-unstyled">
                    <li><code class="param">obj</code>
                        <p><code class="type">mixed</code></p>
                        <p>an array can be used to check multiple nodes</p>
                        <p></p></li>
                </ul>
                <ul class="params list-unstyled">
                    <li><code class="param trigger">Triggers</code>
                        <p><code class="evnt">check_node.jstree</code></p></li>
                </ul>
            </div>
        </div>
        <div class="item " rel="check_node.jstree" style="display: block;"><h4><code class="evnt">check_node.jstree
            Event <i class="glyphicon glyphicon-flash"></i></code><code class="meta plugin"><i
                class="glyphicon glyphicon-leaf"></i> checkbox plugin</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>triggered when an node is checked (only if tie_selection in checkbox settings is
                    false)</p></div>
                <ul class="params list-unstyled">
                    <li><code class="param">node</code>
                        <p><code class="type">Object</code></p></li>
                    <li><code class="param">selected</code>
                        <p><code class="type">Array</code></p>
                        <p>the current selection</p>
                        <p></p></li>
                    <li><code class="param">event</code>
                        <p><code class="type">Object</code></p>
                        <p>the event (if any) that triggered this check_node</p>
                        <p></p></li>
                </ul>
            </div>
        </div>
        <div class="item " rel="uncheck_node(obj)" style="display: block;"><h4><code
                class="func"><strong>uncheck_node</strong>
            (obj)</code><code class="meta plugin"><i class="glyphicon glyphicon-leaf"></i> checkbox
            plugin</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>uncheck a node (only if tie_selection in checkbox settings is false, otherwise
                    deselect_node will be called internally)</p></div>
                <ul class="params list-unstyled">
                    <li><code class="param">obj</code>
                        <p><code class="type">mixed</code></p>
                        <p>an array can be used to uncheck multiple nodes</p>
                        <p></p></li>
                </ul>
                <ul class="params list-unstyled">
                    <li><code class="param trigger">Triggers</code>
                        <p><code class="evnt">uncheck_node.jstree</code></p></li>
                </ul>
            </div>
        </div>
        <div class="item " rel="uncheck_node.jstree" style="display: block;"><h4><code class="evnt">uncheck_node.jstree
            Event <i class="glyphicon glyphicon-flash"></i></code><code class="meta plugin"><i
                class="glyphicon glyphicon-leaf"></i> checkbox plugin</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>triggered when an node is unchecked (only if tie_selection in checkbox settings is
                    false)</p></div>
                <ul class="params list-unstyled">
                    <li><code class="param">node</code>
                        <p><code class="type">Object</code></p></li>
                    <li><code class="param">selected</code>
                        <p><code class="type">Array</code></p>
                        <p>the current selection</p>
                        <p></p></li>
                    <li><code class="param">event</code>
                        <p><code class="type">Object</code></p>
                        <p>the event (if any) that triggered this uncheck_node</p>
                        <p></p></li>
                </ul>
            </div>
        </div>
        <div class="item " rel="check_all()" style="display: block;"><h4><code
                class="func"><strong>check_all</strong> ()</code><code class="meta plugin"><i
                class="glyphicon glyphicon-leaf"></i> checkbox plugin</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>checks all nodes in the tree (only if tie_selection in checkbox settings is false,
                    otherwise select_all will be called internally)</p></div>
                <ul class="params list-unstyled">
                    <li><code class="param trigger">Triggers</code>
                        <p><code class="evnt">check_all.jstree</code> <code class="evnt"> changed.jstree</code>
                        </p></li>
                </ul>
            </div>
        </div>
        <div class="item " rel="check_all.jstree" style="display: block;"><h4><code class="evnt">check_all.jstree
            Event <i class="glyphicon glyphicon-flash"></i></code><code class="meta plugin"><i
                class="glyphicon glyphicon-leaf"></i> checkbox plugin</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>triggered when all nodes are checked (only if tie_selection in checkbox settings is
                    false)</p></div>
                <ul class="params list-unstyled">
                    <li><code class="param">selected</code>
                        <p><code class="type">Array</code></p>
                        <p>the current selection</p>
                        <p></p></li>
                </ul>
            </div>
        </div>
        <div class="item " rel="uncheck_all()" style="display: block;"><h4><code
                class="func"><strong>uncheck_all</strong>
            ()</code><code class="meta plugin"><i class="glyphicon glyphicon-leaf"></i> checkbox plugin</code>
        </h4>
            <div class="item-inner wont-show" style=";">
                <div><p>uncheck all checked nodes (only if tie_selection in checkbox settings is false,
                    otherwise deselect_all will be called internally)</p></div>
                <ul class="params list-unstyled">
                    <li><code class="param trigger">Triggers</code>
                        <p><code class="evnt">uncheck_all.jstree</code></p></li>
                </ul>
            </div>
        </div>
        <div class="item " rel="uncheck_all.jstree" style="display: block;"><h4><code class="evnt">uncheck_all.jstree
            Event <i class="glyphicon glyphicon-flash"></i></code><code class="meta plugin"><i
                class="glyphicon glyphicon-leaf"></i> checkbox plugin</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>triggered when all nodes are unchecked (only if tie_selection in checkbox settings is
                    false)</p></div>
                <ul class="params list-unstyled">
                    <li><code class="param">node</code>
                        <p><code class="type">Object</code></p>
                        <p>the previous selection</p>
                        <p></p></li>
                    <li><code class="param">selected</code>
                        <p><code class="type">Array</code></p>
                        <p>the current selection</p>
                        <p></p></li>
                </ul>
            </div>
        </div>
        <div class="item " rel="is_checked(obj)" style="display: block;"><h4><code
                class="func"><strong>is_checked</strong>
            (obj)</code><code class="meta plugin"><i class="glyphicon glyphicon-leaf"></i> checkbox
            plugin</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>checks if a node is checked (if tie_selection is on in the settings this function will
                    return the same as is_selected)</p></div>
                <ul class="params list-unstyled">
                    <li><code class="param">obj</code>
                        <p><code class="type">mixed</code></p></li>
                </ul>
                <ul class="params list-unstyled">
                    <li><code class="param return">Returns</code>
                        <p><code class="type">Boolean</code></p></li>
                </ul>
            </div>
        </div>
        <div class="item " rel="get_checked([full])" style="display: block;"><h4><code
                class="func"><strong>get_checked</strong>
            ([full])</code><code class="meta plugin"><i class="glyphicon glyphicon-leaf"></i> checkbox
            plugin</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>get an array of all checked nodes (if tie_selection is on in the settings this function
                    will return the same as get_selected)</p></div>
                <ul class="params list-unstyled">
                    <li><code class="param">full</code>
                        <p><code class="type">mixed</code></p>
                        <p>if set to <code>true</code> the returned array will consist of the full node objects,
                            otherwise - only IDs will be returned</p>
                        <p></p></li>
                </ul>
                <ul class="params list-unstyled">
                    <li><code class="param return">Returns</code>
                        <p><code class="type">Array</code></p></li>
                </ul>
            </div>
        </div>
        <div class="item " rel="get_top_checked([full])" style="display: block;"><h4><code class="func"><strong>get_top_checked</strong>
            ([full])</code><code class="meta plugin"><i class="glyphicon glyphicon-leaf"></i> checkbox
            plugin</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>get an array of all top level checked nodes (ignoring children of checked nodes) (if
                    tie_selection is on in the settings this function will return the same as
                    get_top_selected)</p></div>
                <ul class="params list-unstyled">
                    <li><code class="param">full</code>
                        <p><code class="type">mixed</code></p>
                        <p>if set to <code>true</code> the returned array will consist of the full node objects,
                            otherwise - only IDs will be returned</p>
                        <p></p></li>
                </ul>
                <ul class="params list-unstyled">
                    <li><code class="param return">Returns</code>
                        <p><code class="type">Array</code></p></li>
                </ul>
            </div>
        </div>
        <div class="item " rel="get_bottom_checked([full])" style="margin-bottom: 3em; display: block;"><h4>
            <code class="func"><strong>get_bottom_checked</strong> ([full])</code><code class="meta plugin"><i
                class="glyphicon glyphicon-leaf"></i> checkbox plugin</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>get an array of all bottom level checked nodes (ignoring selected parents) (if
                    tie_selection is on in the settings this function will return the same as
                    get_bottom_selected)</p></div>
                <ul class="params list-unstyled">
                    <li><code class="param">full</code>
                        <p><code class="type">mixed</code></p>
                        <p>if set to <code>true</code> the returned array will consist of the full node objects,
                            otherwise - only IDs will be returned</p>
                        <p></p></li>
                </ul>
                <ul class="params list-unstyled">
                    <li><code class="param return">Returns</code>
                        <p><code class="type">Array</code></p></li>
                </ul>
            </div>
        </div>
        <div class="item " rel=""
             style="background: white; border: 0px; border-radius: 0px; margin-top: 0px; padding-top: 0px; display: block;">
            <div class="">
                <div><h3><i class="glyphicon glyphicon-leaf"></i>&nbsp;Conditionalselect plugin</h3>
                    <p>This plugin allows defining a callback to allow or deny node selection by user input
                        (activate node method).</p></div>
            </div>
        </div>
        <div class="item " rel="$.jstree.defaults.checkbox.visible" style="margin-bottom: 3em; display: block;">
            <h4><code class="prop">$.jstree.defaults.checkbox.visible</code><code class="meta plugin"><i
                    class="glyphicon glyphicon-leaf"></i> checkbox plugin</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>a callback (function) which is invoked in the instance's scope and receives two
                    arguments - the node and the event that triggered the <code>activate_node</code> call.
                    Returning false prevents working with the node, returning true allows invoking
                    activate_node. Defaults to returning <code>true</code>.</p></div>
            </div>
        </div>
        <div class="item " rel=""
             style="background: white; border: 0px; border-radius: 0px; margin-top: 0px; padding-top: 0px; display: block;">
            <div class="">
                <div><h3><i class="glyphicon glyphicon-leaf"></i>&nbsp;Contextmenu plugin</h3>
                    <p>Shows a context menu when a node is right-clicked.</p></div>
            </div>
        </div>
        <div class="item " rel="$.jstree.defaults.contextmenu" style="display: block;"><h4><code class="prop">$.jstree.defaults.contextmenu</code><code
                class="meta plugin"><i class="glyphicon glyphicon-leaf"></i> contextmenu plugin</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>stores all defaults for the contextmenu plugin</p></div>
            </div>
        </div>
        <div class="item " rel="$.jstree.defaults.contextmenu.select_node" style="display: block;"><h4><code
                class="prop">$.jstree.defaults.contextmenu.select_node</code><code class="meta plugin"><i
                class="glyphicon glyphicon-leaf"></i> contextmenu plugin</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>a boolean indicating if the node should be selected when the context menu is invoked on
                    it. Defaults to <code>true</code>.</p></div>
            </div>
        </div>
        <div class="item " rel="$.jstree.defaults.contextmenu.show_at_node" style="display: block;"><h4><code
                class="prop">$.jstree.defaults.contextmenu.show_at_node</code><code class="meta plugin"><i
                class="glyphicon glyphicon-leaf"></i> contextmenu plugin</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>a boolean indicating if the menu should be shown aligned with the node. Defaults to
                    <code>true</code>, otherwise the mouse coordinates are used.</p></div>
            </div>
        </div>
        <div class="item " rel="$.jstree.defaults.contextmenu.items" style="display: block;"><h4><code
                class="prop">$.jstree.defaults.contextmenu.items</code><code class="meta plugin"><i
                class="glyphicon glyphicon-leaf"></i> contextmenu plugin</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>an object of actions, or a function that accepts a node and a callback function and
                    calls the callback function with an object of actions available for that node (you can also
                    return the items too).</p>
                    <p>Each action consists of a key (a unique name) and a value which is an object with the
                        following properties (only label and action are required). Once a menu item is activated
                        the <code>action</code> function will be invoked with an object containing the following
                        keys: item - the contextmenu item definition as seen below, reference - the DOM node
                        that was used (the tree node), element - the contextmenu DOM element, position - an
                        object with x/y properties indicating the position of the menu.</p>
                    <ul>
                        <li><code>separator_before</code> - a boolean indicating if there should be a separator
                            before this item
                        </li>
                        <li><code>separator_after</code> - a boolean indicating if there should be a separator
                            after this item
                        </li>
                        <li><code>_disabled</code> - a boolean indicating if this action should be disabled</li>
                        <li><code>label</code> - a string - the name of the action (could be a function
                            returning a string)
                        </li>
                        <li><code>title</code> - a string - an optional tooltip for the item</li>
                        <li><code>action</code> - a function to be executed if this item is chosen, the function
                            will receive
                        </li>
                        <li><code>icon</code> - a string, can be a path to an icon or a className, if using an
                            image that is in the current directory use a <code>./</code> prefix, otherwise it
                            will be detected as a class
                        </li>
                        <li><code>shortcut</code> - keyCode which will trigger the action if the menu is open
                            (for example <code>113</code> for rename, which equals F2)
                        </li>
                        <li><code>shortcut_label</code> - shortcut label (like for example <code>F2</code> for
                            rename)
                        </li>
                        <li><code>submenu</code> - an object with the same structure as
                            $.jstree.defaults.contextmenu.items which can be used to create a submenu - each key
                            will be rendered as a separate option in a submenu that will appear once the current
                            item is hovered
                        </li>
                    </ul>
                </div>
            </div>
        </div>
        <div class="item " rel="show_contextmenu(obj [, x, y])" style="display: block;"><h4><code
                class="func"><strong>show_contextmenu</strong> (obj [, x, y])</code><code class="meta plugin"><i
                class="glyphicon glyphicon-leaf"></i> contextmenu plugin</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>prepare and show the context menu for a node</p></div>
                <ul class="params list-unstyled">
                    <li><code class="param">obj</code>
                        <p><code class="type">mixed</code></p>
                        <p>the node</p>
                        <p></p></li>
                    <li><code class="param">x</code>
                        <p><code class="type">Number</code></p>
                        <p>the x-coordinate relative to the document to show the menu at</p>
                        <p></p></li>
                    <li><code class="param">y</code>
                        <p><code class="type">Number</code></p>
                        <p>the y-coordinate relative to the document to show the menu at</p>
                        <p></p></li>
                    <li><code class="param">e</code>
                        <p><code class="type">Object</code></p>
                        <p>the event if available that triggered the contextmenu</p>
                        <p></p></li>
                </ul>
                <ul class="params list-unstyled">
                    <li><code class="param trigger">Triggers</code>
                        <p><code class="evnt">show_contextmenu.jstree</code></p></li>
                </ul>
            </div>
        </div>
        <div class="item private" rel="_show_contextmenu(obj, x, y, i)" style="display: block;"><h4><code
                class="func"><strong>_show_contextmenu</strong> (obj, x, y, i)</code><code
                class="meta plugin"><i class="glyphicon glyphicon-leaf"></i> contextmenu plugin</code> <code
                class="meta">private</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>show the prepared context menu for a node</p></div>
                <ul class="params list-unstyled">
                    <li><code class="param">obj</code>
                        <p><code class="type">mixed</code></p>
                        <p>the node</p>
                        <p></p></li>
                    <li><code class="param">x</code>
                        <p><code class="type">Number</code></p>
                        <p>the x-coordinate relative to the document to show the menu at</p>
                        <p></p></li>
                    <li><code class="param">y</code>
                        <p><code class="type">Number</code></p>
                        <p>the y-coordinate relative to the document to show the menu at</p>
                        <p></p></li>
                    <li><code class="param">i</code>
                        <p><code class="type">Number</code></p>
                        <p>the object of items to show</p>
                        <p></p></li>
                </ul>
                <ul class="params list-unstyled">
                    <li><code class="param trigger">Triggers</code>
                        <p><code class="evnt">show_contextmenu.jstree</code></p></li>
                </ul>
            </div>
        </div>
        <div class="item " rel="show_contextmenu.jstree" style="display: block;"><h4><code class="evnt">show_contextmenu.jstree
            Event <i class="glyphicon glyphicon-flash"></i></code><code class="meta plugin"><i
                class="glyphicon glyphicon-leaf"></i> contextmenu plugin</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>triggered when the contextmenu is shown for a node</p></div>
                <ul class="params list-unstyled">
                    <li><code class="param">node</code>
                        <p><code class="type">Object</code></p>
                        <p>the node</p>
                        <p></p></li>
                    <li><code class="param">x</code>
                        <p><code class="type">Number</code></p>
                        <p>the x-coordinate of the menu relative to the document</p>
                        <p></p></li>
                    <li><code class="param">y</code>
                        <p><code class="type">Number</code></p>
                        <p>the y-coordinate of the menu relative to the document</p>
                        <p></p></li>
                </ul>
            </div>
        </div>
        <div class="item " rel="context_parse.vakata" style="display: block;"><h4><code class="evnt">context_parse.vakata
            Event <i class="glyphicon glyphicon-flash"></i></code><code class="meta plugin"><i
                class="glyphicon glyphicon-leaf"></i> contextmenu plugin</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>triggered on the document when the contextmenu is parsed (HTML is built)</p></div>
                <ul class="params list-unstyled">
                    <li><code class="param">reference</code>
                        <p><code class="type">jQuery</code></p>
                        <p>the element that was right clicked</p>
                        <p></p></li>
                    <li><code class="param">element</code>
                        <p><code class="type">jQuery</code></p>
                        <p>the DOM element of the menu itself</p>
                        <p></p></li>
                    <li><code class="param">position</code>
                        <p><code class="type">Object</code></p>
                        <p>the x &amp; y coordinates of the menu</p>
                        <p></p></li>
                </ul>
            </div>
        </div>
        <div class="item " rel="context_show.vakata" style="display: block;"><h4><code class="evnt">context_show.vakata
            Event <i class="glyphicon glyphicon-flash"></i></code><code class="meta plugin"><i
                class="glyphicon glyphicon-leaf"></i> contextmenu plugin</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>triggered on the document when the contextmenu is shown</p></div>
                <ul class="params list-unstyled">
                    <li><code class="param">reference</code>
                        <p><code class="type">jQuery</code></p>
                        <p>the element that was right clicked</p>
                        <p></p></li>
                    <li><code class="param">element</code>
                        <p><code class="type">jQuery</code></p>
                        <p>the DOM element of the menu itself</p>
                        <p></p></li>
                    <li><code class="param">position</code>
                        <p><code class="type">Object</code></p>
                        <p>the x &amp; y coordinates of the menu</p>
                        <p></p></li>
                </ul>
            </div>
        </div>
        <div class="item " rel="context_hide.vakata" style="margin-bottom: 3em; display: block;"><h4><code
                class="evnt">context_hide.vakata Event <i class="glyphicon glyphicon-flash"></i></code><code
                class="meta plugin"><i class="glyphicon glyphicon-leaf"></i> contextmenu plugin</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>triggered on the document when the contextmenu is hidden</p></div>
                <ul class="params list-unstyled">
                    <li><code class="param">reference</code>
                        <p><code class="type">jQuery</code></p>
                        <p>the element that was right clicked</p>
                        <p></p></li>
                    <li><code class="param">element</code>
                        <p><code class="type">jQuery</code></p>
                        <p>the DOM element of the menu itself</p>
                        <p></p></li>
                    <li><code class="param">position</code>
                        <p><code class="type">Object</code></p>
                        <p>the x &amp; y coordinates of the menu</p>
                        <p></p></li>
                </ul>
            </div>
        </div>
        <div class="item " rel=""
             style="background: white; border: 0px; border-radius: 0px; margin-top: 0px; padding-top: 0px; display: block;">
            <div class="">
                <div><h3><i class="glyphicon glyphicon-leaf"></i>&nbsp;Drag'n'drop plugin</h3>
                    <p>Enables dragging and dropping of nodes in the tree, resulting in a move or copy
                        operations.</p></div>
            </div>
        </div>
        <div class="item " rel="$.jstree.defaults.dnd" style="display: block;"><h4><code class="prop">$.jstree.defaults.dnd</code><code
                class="meta plugin"><i class="glyphicon glyphicon-leaf"></i> dnd plugin</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>stores all defaults for the drag'n'drop plugin</p></div>
            </div>
        </div>
        <div class="item " rel="$.jstree.defaults.dnd.copy" style="display: block;"><h4><code class="prop">$.jstree.defaults.dnd.copy</code><code
                class="meta plugin"><i class="glyphicon glyphicon-leaf"></i> dnd plugin</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>a boolean indicating if a copy should be possible while dragging (by pressint the meta
                    key or Ctrl). Defaults to <code>true</code>.</p></div>
            </div>
        </div>
        <div class="item " rel="$.jstree.defaults.dnd.open_timeout" style="display: block;"><h4><code
                class="prop">$.jstree.defaults.dnd.open_timeout</code><code class="meta plugin"><i
                class="glyphicon glyphicon-leaf"></i> dnd plugin</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>a number indicating how long a node should remain hovered while dragging to be opened.
                    Defaults to <code>500</code>.</p></div>
            </div>
        </div>
        <div class="item " rel="$.jstree.defaults.dnd.is_draggable" style="display: block;"><h4><code
                class="prop">$.jstree.defaults.dnd.is_draggable</code><code class="meta plugin"><i
                class="glyphicon glyphicon-leaf"></i> dnd plugin</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>a function invoked each time a node is about to be dragged, invoked in the tree's scope
                    and receives the nodes about to be dragged as an argument (array) and the event that started
                    the drag - return <code>false</code> to prevent dragging</p></div>
            </div>
        </div>
        <div class="item " rel="$.jstree.defaults.dnd.check_while_dragging" style="display: block;"><h4><code
                class="prop">$.jstree.defaults.dnd.check_while_dragging</code><code class="meta plugin"><i
                class="glyphicon glyphicon-leaf"></i> dnd plugin</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>a boolean indicating if checks should constantly be made while the user is dragging the
                    node (as opposed to checking only on drop), default is <code>true</code></p></div>
            </div>
        </div>
        <div class="item " rel="$.jstree.defaults.dnd.always_copy" style="display: block;"><h4><code
                class="prop">$.jstree.defaults.dnd.always_copy</code><code class="meta plugin"><i
                class="glyphicon glyphicon-leaf"></i> dnd plugin</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>a boolean indicating if nodes from this tree should only be copied with dnd (as opposed
                    to moved), default is <code>false</code></p></div>
            </div>
        </div>
        <div class="item " rel="$.jstree.defaults.dnd.inside_pos" style="display: block;"><h4><code
                class="prop">$.jstree.defaults.dnd.inside_pos</code><code class="meta plugin"><i
                class="glyphicon glyphicon-leaf"></i> dnd plugin</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>when dropping a node "inside", this setting indicates the position the node should go to
                    - it can be an integer or a string: "first" (same as 0) or "last", default is <code>0</code>
                </p></div>
            </div>
        </div>
        <div class="item " rel="$.jstree.defaults.dnd.drag_selection" style="display: block;"><h4><code
                class="prop">$.jstree.defaults.dnd.drag_selection</code><code class="meta plugin"><i
                class="glyphicon glyphicon-leaf"></i> dnd plugin</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>when starting the drag on a node that is selected this setting controls if all selected
                    nodes are dragged or only the single node, default is <code>true</code>, which means all
                    selected nodes are dragged when the drag is started on a selected node</p></div>
            </div>
        </div>
        <div class="item " rel="$.jstree.defaults.dnd.touch" style="display: block;"><h4><code class="prop">$.jstree.defaults.dnd.touch</code><code
                class="meta plugin"><i class="glyphicon glyphicon-leaf"></i> dnd plugin</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>controls whether dnd works on touch devices. If left as boolean true dnd will work the
                    same as in desktop browsers, which in some cases may impair scrolling. If set to boolean
                    false dnd will not work on touch devices. There is a special third option - string
                    "selected" which means only selected nodes can be dragged on touch devices.</p></div>
            </div>
        </div>
        <div class="item " rel="$.jstree.defaults.dnd.large_drop_target" style="display: block;"><h4><code
                class="prop">$.jstree.defaults.dnd.large_drop_target</code><code class="meta plugin"><i
                class="glyphicon glyphicon-leaf"></i> dnd plugin</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>controls whether items can be dropped anywhere on the node, not just on the anchor, by
                    default only the node anchor is a valid drop target. Works best with the wholerow plugin. If
                    enabled on mobile depending on the interface it might be hard for the user to cancel the
                    drop, since the whole tree container will be a valid drop target.</p></div>
            </div>
        </div>
        <div class="item " rel="$.jstree.defaults.dnd.large_drag_target" style="display: block;"><h4><code
                class="prop">$.jstree.defaults.dnd.large_drag_target</code><code class="meta plugin"><i
                class="glyphicon glyphicon-leaf"></i> dnd plugin</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>controls whether a drag can be initiated from any part of the node and not just the
                    text/icon part, works best with the wholerow plugin. Keep in mind it can cause problems with
                    tree scrolling on mobile depending on the interface - in that case set the touch option to
                    "selected".</p></div>
            </div>
        </div>
        <div class="item " rel="$.jstree.defaults.dnd.use_html5" style="display: block;"><h4><code class="prop">$.jstree.defaults.dnd.use_html5</code><code
                class="meta plugin"><i class="glyphicon glyphicon-leaf"></i> dnd plugin</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>controls whether use HTML5 dnd api instead of classical. That will allow better
                    integration of dnd events with other HTML5 controls.</p></div>
            </div>
        </div>
        <div class="item " rel="dnd_scroll.vakata" style="display: block;"><h4><code class="evnt">dnd_scroll.vakata
            Event <i class="glyphicon glyphicon-flash"></i></code><code class="meta plugin"><i
                class="glyphicon glyphicon-leaf"></i> dnd plugin</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>triggered on the document when a drag causes an element to scroll</p></div>
                <ul class="params list-unstyled">
                    <li><code class="param">data</code>
                        <p><code class="type">Mixed</code></p>
                        <p>any data supplied with the call to $.vakata.dnd.start</p>
                        <p></p></li>
                    <li><code class="param">element</code>
                        <p><code class="type">DOM</code></p>
                        <p>the DOM element being dragged</p>
                        <p></p></li>
                    <li><code class="param">helper</code>
                        <p><code class="type">jQuery</code></p>
                        <p>the helper shown next to the mouse</p>
                        <p></p></li>
                    <li><code class="param">event</code>
                        <p><code class="type">jQuery</code></p>
                        <p>the element that is scrolling</p>
                        <p></p></li>
                </ul>
            </div>
        </div>
        <div class="item " rel="dnd_start.vakata" style="display: block;"><h4><code class="evnt">dnd_start.vakata
            Event <i class="glyphicon glyphicon-flash"></i></code><code class="meta plugin"><i
                class="glyphicon glyphicon-leaf"></i> dnd plugin</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>triggered on the document when a drag starts</p></div>
                <ul class="params list-unstyled">
                    <li><code class="param">data</code>
                        <p><code class="type">Mixed</code></p>
                        <p>any data supplied with the call to $.vakata.dnd.start</p>
                        <p></p></li>
                    <li><code class="param">element</code>
                        <p><code class="type">DOM</code></p>
                        <p>the DOM element being dragged</p>
                        <p></p></li>
                    <li><code class="param">helper</code>
                        <p><code class="type">jQuery</code></p>
                        <p>the helper shown next to the mouse</p>
                        <p></p></li>
                    <li><code class="param">event</code>
                        <p><code class="type">Object</code></p>
                        <p>the event that caused the start (probably mousemove)</p>
                        <p></p></li>
                </ul>
            </div>
        </div>
        <div class="item " rel="dnd_move.vakata" style="display: block;"><h4><code class="evnt">dnd_move.vakata
            Event <i class="glyphicon glyphicon-flash"></i></code><code class="meta plugin"><i
                class="glyphicon glyphicon-leaf"></i> dnd plugin</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>triggered on the document when a drag is in progress</p></div>
                <ul class="params list-unstyled">
                    <li><code class="param">data</code>
                        <p><code class="type">Mixed</code></p>
                        <p>any data supplied with the call to $.vakata.dnd.start</p>
                        <p></p></li>
                    <li><code class="param">element</code>
                        <p><code class="type">DOM</code></p>
                        <p>the DOM element being dragged</p>
                        <p></p></li>
                    <li><code class="param">helper</code>
                        <p><code class="type">jQuery</code></p>
                        <p>the helper shown next to the mouse</p>
                        <p></p></li>
                    <li><code class="param">event</code>
                        <p><code class="type">Object</code></p>
                        <p>the event that caused this to trigger (most likely mousemove)</p>
                        <p></p></li>
                </ul>
            </div>
        </div>
        <div class="item " rel="dnd_stop.vakata" style="margin-bottom: 3em; display: block;"><h4><code
                class="evnt">dnd_stop.vakata Event <i class="glyphicon glyphicon-flash"></i></code><code
                class="meta plugin"><i class="glyphicon glyphicon-leaf"></i> dnd plugin</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>triggered on the document when a drag stops (the dragged element is dropped)</p></div>
                <ul class="params list-unstyled">
                    <li><code class="param">data</code>
                        <p><code class="type">Mixed</code></p>
                        <p>any data supplied with the call to $.vakata.dnd.start</p>
                        <p></p></li>
                    <li><code class="param">element</code>
                        <p><code class="type">DOM</code></p>
                        <p>the DOM element being dragged</p>
                        <p></p></li>
                    <li><code class="param">helper</code>
                        <p><code class="type">jQuery</code></p>
                        <p>the helper shown next to the mouse</p>
                        <p></p></li>
                    <li><code class="param">event</code>
                        <p><code class="type">Object</code></p>
                        <p>the event that caused the stop</p>
                        <p></p></li>
                </ul>
            </div>
        </div>
        <div class="item " rel=""
             style="background: white; border: 0px; border-radius: 0px; margin-top: 0px; padding-top: 0px; display: block;">
            <div class="">
                <div><h3><i class="glyphicon glyphicon-leaf"></i>&nbsp;Massload plugin</h3>
                    <p>Adds massload functionality to jsTree, so that multiple nodes can be loaded in a single
                        request (only useful with lazy loading).</p></div>
            </div>
        </div>
        <div class="item " rel="$.jstree.defaults.massload" style="margin-bottom: 3em; display: block;"><h4>
            <code class="prop">$.jstree.defaults.massload</code><code class="meta plugin"><i
                class="glyphicon glyphicon-leaf"></i> massload plugin</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>massload configuration</p>
                    <p>It is possible to set this to a standard jQuery-like AJAX config.<br>
                        In addition to the standard jQuery ajax options here you can supply functions for
                        <code>data</code>
                        and <code>url</code>, the functions will be run in the current instance's scope and a
                        param will be passed indicating which node IDs need to be loaded, the return value of
                        those functions will be used.</p>
                    <p>You can also set this to a function, that function will receive the node IDs being loaded
                        as argument and a second param which is a function (callback) which should be called
                        with the result.</p>

                </div>
                <div><p>Both the AJAX and the function approach rely on the same return value - an object where
                    the keys are the node IDs, and the value is the children of that node as an array.</p>
                    <pre><code>{
	"id1" : [{ "text" : "Child of ID1", "id" : "c1" }, { "text" : "Another child of ID1", "id" : "c2" }],
	"id2" : [{ "text" : "Child of ID2", "id" : "c3" }]
}</code></pre>
                </div>
            </div>
        </div>
        <div class="item " rel=""
             style="background: white; border: 0px; border-radius: 0px; margin-top: 0px; padding-top: 0px; display: block;">
            <div class="">
                <div><h3><i class="glyphicon glyphicon-leaf"></i>&nbsp;Search plugin</h3>
                    <p>Adds search functionality to jsTree.</p></div>
            </div>
        </div>
        <div class="item " rel="$.jstree.defaults.search" style="display: block;"><h4><code class="prop">$.jstree.defaults.search</code><code
                class="meta plugin"><i class="glyphicon glyphicon-leaf"></i> search plugin</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>stores all defaults for the search plugin</p></div>
            </div>
        </div>
        <div class="item " rel="$.jstree.defaults.search.ajax" style="display: block;"><h4><code class="prop">$.jstree.defaults.search.ajax</code><code
                class="meta plugin"><i class="glyphicon glyphicon-leaf"></i> search plugin</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>a jQuery-like AJAX config, which jstree uses if a server should be queried for
                    results.</p>
                    <p>A <code>str</code> (which is the search string) parameter will be added with the request,
                        an optional <code>inside</code> parameter will be added if the search is limited to a
                        node id. The expected result is a JSON array with nodes that need to be opened so that
                        matching nodes will be revealed.<br>
                        Leave this setting as <code>false</code> to not query the server. You can also set this
                        to a function, which will be invoked in the instance's scope and receive 3 parameters -
                        the search string, the callback to call with the array of nodes to load, and the
                        optional node ID to limit the search to</p></div>
            </div>
        </div>
        <div class="item " rel="$.jstree.defaults.search.fuzzy" style="display: block;"><h4><code class="prop">$.jstree.defaults.search.fuzzy</code><code
                class="meta plugin"><i class="glyphicon glyphicon-leaf"></i> search plugin</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>Indicates if the search should be fuzzy or not (should <code>chnd3</code> match <code>child
                    node 3</code>). Default is <code>false</code>.</p></div>
            </div>
        </div>
        <div class="item " rel="$.jstree.defaults.search.case_sensitive" style="display: block;"><h4><code
                class="prop">$.jstree.defaults.search.case_sensitive</code><code class="meta plugin"><i
                class="glyphicon glyphicon-leaf"></i> search plugin</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>Indicates if the search should be case sensitive. Default is <code>false</code>.</p>
                </div>
            </div>
        </div>
        <div class="item " rel="$.jstree.defaults.search.show_only_matches" style="display: block;"><h4><code
                class="prop">$.jstree.defaults.search.show_only_matches</code><code class="meta plugin"><i
                class="glyphicon glyphicon-leaf"></i> search plugin</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>Indicates if the tree should be filtered (by default) to show only matching nodes (keep
                    in mind this can be a heavy on large trees in old browsers).<br>
                    This setting can be changed at runtime when calling the search method. Default is <code>false</code>.
                </p></div>
            </div>
        </div>
        <div class="item " rel="$.jstree.defaults.search.show_only_matches_children" style="display: block;">
            <h4><code class="prop">$.jstree.defaults.search.show_only_matches_children</code><code
                    class="meta plugin"><i class="glyphicon glyphicon-leaf"></i> search plugin</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>Indicates if the children of matched element are shown (when show_only_matches is
                    true)<br>
                    This setting can be changed at runtime when calling the search method. Default is <code>false</code>.
                </p></div>
            </div>
        </div>
        <div class="item " rel="$.jstree.defaults.search.close_opened_onclear" style="display: block;"><h4><code
                class="prop">$.jstree.defaults.search.close_opened_onclear</code><code class="meta plugin"><i
                class="glyphicon glyphicon-leaf"></i> search plugin</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>Indicates if all nodes opened to reveal the search result, should be closed when the
                    search is cleared or a new search is performed. Default is <code>true</code>.</p></div>
            </div>
        </div>
        <div class="item " rel="$.jstree.defaults.search.search_leaves_only" style="display: block;"><h4><code
                class="prop">$.jstree.defaults.search.search_leaves_only</code><code class="meta plugin"><i
                class="glyphicon glyphicon-leaf"></i> search plugin</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>Indicates if only leaf nodes should be included in search results. Default is <code>false</code>.
                </p></div>
            </div>
        </div>
        <div class="item " rel="$.jstree.defaults.search.search_callback" style="display: block;"><h4><code
                class="prop">$.jstree.defaults.search.search_callback</code><code class="meta plugin"><i
                class="glyphicon glyphicon-leaf"></i> search plugin</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>If set to a function it wil be called in the instance's scope with two arguments -
                    search string and node (where node will be every node in the structure, so use with
                    caution).<br>
                    If the function returns a truthy value the node will be considered a match (it might not be
                    displayed if search_only_leaves is set to true and the node is not a leaf). Default is
                    <code>false</code>.</p></div>
            </div>
        </div>
        <div class="item " rel="search(str [, skip_async])" style="display: block;"><h4><code
                class="func"><strong>search</strong> (str [, skip_async])</code><code class="meta plugin"><i
                class="glyphicon glyphicon-leaf"></i> search plugin</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>used to search the tree nodes for a given string</p></div>
                <ul class="params list-unstyled">
                    <li><code class="param">str</code>
                        <p><code class="type">String</code></p>
                        <p>the search string</p>
                        <p></p></li>
                    <li><code class="param">skip_async</code>
                        <p><code class="type">Boolean</code></p>
                        <p>if set to true server will not be queried even if configured</p>
                        <p></p></li>
                    <li><code class="param">show_only_matches</code>
                        <p><code class="type">Boolean</code></p>
                        <p>if set to true only matching nodes will be shown (keep in mind this can be very slow
                            on large trees or old browsers)</p>
                        <p></p></li>
                    <li><code class="param">inside</code>
                        <p><code class="type">mixed</code></p>
                        <p>an optional node to whose children to limit the search</p>
                        <p></p></li>
                    <li><code class="param">append</code>
                        <p><code class="type">Boolean</code></p>
                        <p>if set to true the results of this search are appended to the previous search</p>
                        <p></p></li>
                </ul>
                <ul class="params list-unstyled">
                    <li><code class="param trigger">Triggers</code>
                        <p><code class="evnt">search.jstree</code></p></li>
                </ul>
            </div>
        </div>
        <div class="item " rel="search.jstree" style="display: block;"><h4><code class="evnt">search.jstree
            Event <i class="glyphicon glyphicon-flash"></i></code><code class="meta plugin"><i
                class="glyphicon glyphicon-leaf"></i> search plugin</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>triggered after search is complete</p></div>
                <ul class="params list-unstyled">
                    <li><code class="param">nodes</code>
                        <p><code class="type">jQuery</code></p>
                        <p>a jQuery collection of matching nodes</p>
                        <p></p></li>
                    <li><code class="param">str</code>
                        <p><code class="type">String</code></p>
                        <p>the search string</p>
                        <p></p></li>
                    <li><code class="param">res</code>
                        <p><code class="type">Array</code></p>
                        <p>a collection of objects represeing the matching nodes</p>
                        <p></p></li>
                </ul>
            </div>
        </div>
        <div class="item " rel="clear_search()" style="display: block;"><h4><code
                class="func"><strong>clear_search</strong>
            ()</code><code class="meta plugin"><i class="glyphicon glyphicon-leaf"></i> search plugin</code>
        </h4>
            <div class="item-inner wont-show" style=";">
                <div><p>used to clear the last search (removes classes and shows all nodes if filtering is
                    on)</p></div>
                <ul class="params list-unstyled">
                    <li><code class="param trigger">Triggers</code>
                        <p><code class="evnt">clear_search.jstree</code></p></li>
                </ul>
            </div>
        </div>
        <div class="item " rel="clear_search.jstree" style="margin-bottom: 3em; display: block;"><h4><code
                class="evnt">clear_search.jstree Event <i class="glyphicon glyphicon-flash"></i></code><code
                class="meta plugin"><i class="glyphicon glyphicon-leaf"></i> search plugin</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>triggered after search is complete</p></div>
                <ul class="params list-unstyled">
                    <li><code class="param">nodes</code>
                        <p><code class="type">jQuery</code></p>
                        <p>a jQuery collection of matching nodes (the result from the last search)</p>
                        <p></p></li>
                    <li><code class="param">str</code>
                        <p><code class="type">String</code></p>
                        <p>the search string (the last search string)</p>
                        <p></p></li>
                    <li><code class="param">res</code>
                        <p><code class="type">Array</code></p>
                        <p>a collection of objects represeing the matching nodes (the result from the last
                            search)</p>
                        <p></p></li>
                </ul>
            </div>
        </div>
        <div class="item " rel=""
             style="background: white; border: 0px; border-radius: 0px; margin-top: 0px; padding-top: 0px; display: block;">
            <div class="">
                <div><h3><i class="glyphicon glyphicon-leaf"></i>&nbsp;Sort plugin</h3>
                    <p>Automatically sorts all siblings in the tree according to a sorting function.</p></div>
            </div>
        </div>
        <div class="item " rel="$.jstree.defaults.sort" style="display: block;"><h4><code class="prop">$.jstree.defaults.sort</code><code
                class="meta plugin"><i class="glyphicon glyphicon-leaf"></i> sort plugin</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>the settings function used to sort the nodes.<br>
                    It is executed in the tree's context, accepts two nodes as arguments and should return
                    <code>1</code> or <code>-1</code>.</p></div>
            </div>
        </div>
        <div class="item private" rel="sort(obj [, deep])" style="margin-bottom: 3em; display: block;"><h4><code
                class="func"><strong>sort</strong> (obj [, deep])</code><code class="meta plugin"><i
                class="glyphicon glyphicon-leaf"></i> sort plugin</code> <code class="meta">private</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>used to sort a node's children</p></div>
                <ul class="params list-unstyled">
                    <li><code class="param">obj</code>
                        <p><code class="type">mixed</code></p>
                        <p>the node</p>
                        <p></p></li>
                    <li><code class="param">deep</code>
                        <p><code class="type">Boolean</code></p>
                        <p>if set to <code>true</code> nodes are sorted recursively.</p>
                        <p></p></li>
                </ul>
                <ul class="params list-unstyled">
                    <li><code class="param trigger">Triggers</code>
                        <p><code class="evnt">search.jstree</code></p></li>
                </ul>
            </div>
        </div>
        <div class="item " rel=""
             style="background: white; border: 0px; border-radius: 0px; margin-top: 0px; padding-top: 0px; display: block;">
            <div class="">
                <div><h3><i class="glyphicon glyphicon-leaf"></i>&nbsp;State plugin</h3>
                    <p>Saves the state of the tree (selected nodes, opened nodes) on the user's computer using
                        available options (localStorage, cookies, etc)</p></div>
            </div>
        </div>
        <div class="item " rel="$.jstree.defaults.state" style="display: block;"><h4><code class="prop">$.jstree.defaults.state</code><code
                class="meta plugin"><i class="glyphicon glyphicon-leaf"></i> state plugin</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>stores all defaults for the state plugin</p></div>
            </div>
        </div>
        <div class="item " rel="$.jstree.defaults.state.key" style="display: block;"><h4><code class="prop">$.jstree.defaults.state.key</code><code
                class="meta plugin"><i class="glyphicon glyphicon-leaf"></i> state plugin</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>A string for the key to use when saving the current tree (change if using multiple trees
                    in your project). Defaults to <code>jstree</code>.</p></div>
            </div>
        </div>
        <div class="item " rel="$.jstree.defaults.state.events" style="display: block;"><h4><code class="prop">$.jstree.defaults.state.events</code><code
                class="meta plugin"><i class="glyphicon glyphicon-leaf"></i> state plugin</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>A space separated list of events that trigger a state save. Defaults to <code>changed.jstree
                    open_node.jstree close_node.jstree</code>.</p></div>
            </div>
        </div>
        <div class="item " rel="$.jstree.defaults.state.ttl" style="display: block;"><h4><code class="prop">$.jstree.defaults.state.ttl</code><code
                class="meta plugin"><i class="glyphicon glyphicon-leaf"></i> state plugin</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>Time in milliseconds after which the state will expire. Defaults to 'false' meaning - no
                    expire.</p></div>
            </div>
        </div>
        <div class="item " rel="$.jstree.defaults.state.filter" style="display: block;"><h4><code class="prop">$.jstree.defaults.state.filter</code><code
                class="meta plugin"><i class="glyphicon glyphicon-leaf"></i> state plugin</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>A function that will be executed prior to restoring state with one argument - the state
                    object. Can be used to clear unwanted parts of the state.</p></div>
            </div>
        </div>
        <div class="item " rel="$.jstree.defaults.state.preserve_loaded" style="display: block;"><h4><code
                class="prop">$.jstree.defaults.state.preserve_loaded</code><code class="meta plugin"><i
                class="glyphicon glyphicon-leaf"></i> state plugin</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>Should loaded nodes be restored (setting this to true means that it is possible that the
                    whole tree will be loaded for some users - use with caution). Defaults to <code>false</code>
                </p></div>
            </div>
        </div>
        <div class="item " rel="state_ready.jstree" style="display: block;"><h4><code class="evnt">state_ready.jstree
            Event <i class="glyphicon glyphicon-flash"></i></code><code class="meta plugin"><i
                class="glyphicon glyphicon-leaf"></i> state plugin</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>triggered when the state plugin is finished restoring the state (and immediately after
                    ready if there is no state to restore).</p></div>
            </div>
        </div>
        <div class="item " rel="save_state()" style="display: block;"><h4><code
                class="func"><strong>save_state</strong> ()</code><code class="meta plugin"><i
                class="glyphicon glyphicon-leaf"></i> state plugin</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>save the state</p></div>
            </div>
        </div>
        <div class="item " rel="restore_state()" style="display: block;"><h4><code
                class="func"><strong>restore_state</strong>
            ()</code><code class="meta plugin"><i class="glyphicon glyphicon-leaf"></i> state plugin</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>restore the state from the user's computer</p></div>
            </div>
        </div>
        <div class="item " rel="clear_state()" style="margin-bottom: 3em; display: block;"><h4><code
                class="func"><strong>clear_state</strong> ()</code><code class="meta plugin"><i
                class="glyphicon glyphicon-leaf"></i> state plugin</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>clear the state on the user's computer</p></div>
            </div>
        </div>
        <div class="item " rel=""
             style="background: white; border: 0px; border-radius: 0px; margin-top: 0px; padding-top: 0px; display: block;">
            <div class="">
                <div><h3><i class="glyphicon glyphicon-leaf"></i>&nbsp;Types plugin</h3>
                    <p>Makes it possible to add predefined types for groups of nodes, which make it possible to
                        easily control nesting rules and icon for each group.</p></div>
            </div>
        </div>
        <div class="item " rel="$.jstree.defaults.types" style="display: block;"><h4><code class="prop">$.jstree.defaults.types</code><code
                class="meta plugin"><i class="glyphicon glyphicon-leaf"></i> types plugin</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>An object storing all types as key value pairs, where the key is the type name and the
                    value is an object that could contain following keys (all optional).</p>
                    <ul>
                        <li><code>max_children</code> the maximum number of immediate children this node type
                            can have. Do not specify or set to <code>-1</code> for unlimited.
                        </li>
                        <li><code>max_depth</code> the maximum number of nesting this node type can have. A
                            value of <code>1</code> would mean that the node can have children, but no
                            grandchildren. Do not specify or set to <code>-1</code> for unlimited.
                        </li>
                        <li><code>valid_children</code> an array of node type strings, that nodes of this type
                            can have as children. Do not specify or set to <code>-1</code> for no limits.
                        </li>
                        <li><code>icon</code> a string - can be a path to an icon or a className, if using an
                            image that is in the current directory use a <code>./</code> prefix, otherwise it
                            will be detected as a class. Omit to use the default icon from your theme.
                        </li>
                        <li><code>li_attr</code> an object of values which will be used to add HTML attributes
                            on the resulting LI DOM node (merged with the node's own data)
                        </li>
                        <li><code>a_attr</code> an object of values which will be used to add HTML attributes on
                            the resulting A DOM node (merged with the node's own data)
                        </li>
                    </ul>
                    <p>There are two predefined types:</p>
                    <ul>
                        <li><code>#</code> represents the root of the tree, for example
                            <code>max_children</code> would control the maximum number of root nodes.
                        </li>
                        <li><code>default</code> represents the default node - any settings here will be applied
                            to all nodes that do not have a type specified.
                        </li>
                    </ul>
                </div>
            </div>
        </div>
        <div class="item " rel="get_rules(obj)" style="display: block;"><h4><code
                class="func"><strong>get_rules</strong> (obj)</code><code class="meta plugin"><i
                class="glyphicon glyphicon-leaf"></i> types plugin</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>used to retrieve the type settings object for a node</p></div>
                <ul class="params list-unstyled">
                    <li><code class="param">obj</code>
                        <p><code class="type">mixed</code></p>
                        <p>the node to find the rules for</p>
                        <p></p></li>
                </ul>
                <ul class="params list-unstyled">
                    <li><code class="param return">Returns</code>
                        <p><code class="type">Object</code></p></li>
                </ul>
            </div>
        </div>
        <div class="item " rel="get_type(obj [, rules])" style="display: block;"><h4><code
                class="func"><strong>get_type</strong>
            (obj [, rules])</code><code class="meta plugin"><i class="glyphicon glyphicon-leaf"></i> types
            plugin</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>used to retrieve the type string or settings object for a node</p></div>
                <ul class="params list-unstyled">
                    <li><code class="param">obj</code>
                        <p><code class="type">mixed</code></p>
                        <p>the node to find the rules for</p>
                        <p></p></li>
                    <li><code class="param">rules</code>
                        <p><code class="type">Boolean</code></p>
                        <p>if set to <code>true</code> instead of a string the settings object will be returned
                        </p>
                        <p></p></li>
                </ul>
                <ul class="params list-unstyled">
                    <li><code class="param return">Returns</code>
                        <p><code class="type">String</code> <code class="type">Object</code></p></li>
                </ul>
            </div>
        </div>
        <div class="item " rel="set_type(obj, type)" style="margin-bottom: 3em; display: block;"><h4><code
                class="func"><strong>set_type</strong> (obj, type)</code><code class="meta plugin"><i
                class="glyphicon glyphicon-leaf"></i> types plugin</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>used to change a node's type</p></div>
                <ul class="params list-unstyled">
                    <li><code class="param">obj</code>
                        <p><code class="type">mixed</code></p>
                        <p>the node to change</p>
                        <p></p></li>
                    <li><code class="param">type</code>
                        <p><code class="type">String</code></p>
                        <p>the new type</p>
                        <p></p></li>
                </ul>
            </div>
        </div>
        <div class="item " rel=""
             style="background: white; border: 0px; border-radius: 0px; margin-top: 0px; padding-top: 0px; display: block;">
            <div class="">
                <div><h3><i class="glyphicon glyphicon-leaf"></i>&nbsp;Unique plugin</h3>
                    <p>Enforces that no nodes with the same name can coexist as siblings.</p></div>
            </div>
        </div>
        <div class="item " rel="$.jstree.defaults.unique" style="display: block;"><h4><code class="prop">$.jstree.defaults.unique</code><code
                class="meta plugin"><i class="glyphicon glyphicon-leaf"></i> unique plugin</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>stores all defaults for the unique plugin</p></div>
            </div>
        </div>
        <div class="item " rel="$.jstree.defaults.unique.case_sensitive" style="display: block;"><h4><code
                class="prop">$.jstree.defaults.unique.case_sensitive</code><code class="meta plugin"><i
                class="glyphicon glyphicon-leaf"></i> unique plugin</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>Indicates if the comparison should be case sensitive. Default is <code>false</code>.</p>
                </div>
            </div>
        </div>
        <div class="item " rel="$.jstree.defaults.unique.trim_whitespace" style="display: block;"><h4><code
                class="prop">$.jstree.defaults.unique.trim_whitespace</code><code class="meta plugin"><i
                class="glyphicon glyphicon-leaf"></i> unique plugin</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>Indicates if white space should be trimmed before the comparison. Default is
                    <code>false</code>.</p></div>
            </div>
        </div>
        <div class="item " rel="$.jstree.defaults.unique.duplicate" style="margin-bottom: 3em; display: block;">
            <h4><code class="prop">$.jstree.defaults.unique.duplicate</code><code class="meta plugin"><i
                    class="glyphicon glyphicon-leaf"></i> unique plugin</code></h4>
            <div class="item-inner wont-show" style=";">
                <div><p>A callback executed in the instance's scope when a new node is created and the name is
                    already taken, the two arguments are the conflicting name and the counter. The default will
                    produce results like <code>New node (2)</code>.</p></div>
            </div>
        </div>
        <div class="item " rel=""
             style="background: white; border: 0px; border-radius: 0px; margin-top: 0px; padding-top: 0px; display: block;">
            <div class="">
                <div><h3><i class="glyphicon glyphicon-leaf"></i>&nbsp;Wholerow plugin</h3>
                    <p>Makes each node appear block level. Making selection easier. May cause slow down for
                        large trees in old browsers.</p></div>
            </div>
        </div>
    </div>
{% endblock %}
{% block js %}
    <script>
        $(document).ready(function () {
            $("#apis").addClass("active");
            $('.item').on("click", function (event) {
                event.stopPropagation();
                event.preventDefault();
                var des = event.target.nodeName;
                var child = $(this).find(".item-inner");
                var is_show = child.attr("class");
                if(des ==="item" || des === "H4" || des ==="item private"){
                    if (is_show==="item-inner wont-show") {
                        child.attr('class', 'item-inner');
                    } else {
                        child.attr('class', 'item-inner wont-show');
                    }
                }
            })
        });


    </script>
{% endblock %}